[M] Forms
Общее описание
Используется для перебора методом грубой силы (bruteforce). В случае работы с сырым (raw) HTTP используется метод POST, в режиме selenium работа идёт согласно логике целевого сайта. В качестве источника паролей используется словарь.
Конфигурация перебора В работе с сырым (raw) HTTP конфигурацией является тело POST-запроса содержащее маркеры «^USER^» и «^PASS^» на места которых будут подставляться логин и пароль соответственно. Указывается в параметре «--conf-str». Примеры:
login=^USER^&password=^PASS^
{"login":"^USER^","pwd":"^PASS^"}
Если работа идёт в режиме selenium, то конфигурация перебора сохраняется в файле, путь к которому указывается в параметре «--conf-file». Он должен состоять из трёх строк, в начале которых располагается маркер, затем идёт символ табуляции (\t), после чего указывается CSS-селектор связанный с маркером. В этом режиме используются следующие маркеры:
^USER^ - поле в которое будет введён логин
^PASS^ - поле в которое будет введён пароль
^SUBMIT^ - элемент по которому нужно кликнуть для отправки формы
Пример содержимого такого файла:
Здесь логин будет вводиться в текстовое поле с id=user, пароль в текстовое поле с id=pass, и затем будет происходить клик по элементу с id=submit.
Примеры
Простой брут POST формы:
Брут формы в selenium-режиме:
Опции (* - обязательные)
Для параметров «-conf-file», «--conf-str» обязательным является указание одного из них. Для «--true-phrase», «--false-phrase», «--false-size» аналогично.
R - присутствует ли в raw режиме S - присутствует ли в selenium режиме.
Имя | По умолчанию | R | S | Описание |
--url * | Да | Да | Ссылка на страницу куда должен уходить запрос (в случае сырого HTTP), или где находится форма (selenium-режим) | |
--dict * | Да | Да | Путь к словарю паролей | |
--login * | Да | Да | Целевой логин | |
--conf-str * | Да | Нет | Только для raw режима. Строка конфигурации перебора для режима работы с сырым HTTP | |
--conf-file * | Нет | Да | Файл с конфигурацией перебора для selenium-режима | |
--true-re * | Да | Да | RegEx (python.re), при наличии совпадений в теле ответа свидетельствующая о положительном результате. | |
--false-re * | Да | Да | RegEx (python.re), при наличии совпадений в теле ответа свидетельствующая об отрицательном результате. | |
--false-size * | Да | Да | Размер тела отрицательного ответа. Помните что разные утилиты могут давать разный размер ответа. Используйте тестовый режим чтобы узнать нужное вам значение. | |
--pass-max-len | Да | Да | Пароли больше этой длины будут пропускаться | |
--pass-min-len | Да | Да | Пароли меньше этой длины будут пропускаться | |
--first-stop | 0 | Да | Да | Останавливать работу после первого найденного результата. Связано это с вероятностью ложных срабатываний. |
--follow-redirects | 1 | Да | Нет | Следовать по редиректам отправляемым сервером. Только raw-режим. В selenium-режиме такое происходит автоматически. |
--reload-form-page | 0 | Нет | Да | Только selenium-режим. Включение данного параметра приводит к тому, что целевая страница открывается заново после каждой попытки заполнения формы. Может пригодиться тогда, когда после неудачной попытки авторизации на итоговой странице не видно формы и пользователю нужно как-то вернуться на неё. |
--bruterforce-method | POST | Да | Нет | Метод перебора (GET/POST) |
--proxies | Да | Да | Файл со списком http-proxy. | |
--retest-re | Да | Да | Регулярное выражение (python.re) для поиска в ответе сервера признака необходимости переотправить запрос. Например «Service Temporarily Unavailable». | |
--retest-codes | Да | Нет | Набор кодов (через запятую) указывающих на то, что запрос нужно отправить заново. Например «502,503». | |
--headers-file | Да | Нет | Файл с http заголовками для включения в заголовки запроса. | |
--delay | 0 | Да | Да | Задержка между запросами (в секундах). Касается не всех рабочих потоков в целом, а каждого потока в частности. |
--threads | 10 | Да | Да | Количество рабочих потоков |
--parts | Да | Да | На сколько частей разбить проверяемый список (словарь, маску) | |
--part | Да | Да | С какой из частей проверяемого списка работаем. | |
--test | 0 | Да | Да | Включение тестового режима |
--xml-report | Да | Да | Путь к xml-отчёту | |
--selenium | Нет | Да | Включение selenium-режима | |
--browser-recreate-re | Нет | Да | Регулярное выражение (python.re). При совпадении в ответе веб-сервера бразер будет закрыт и запущен заново. При этом будет сменён прокси, если они используются. | |
--browser-wait-re | Нет | Да | Регулярное выражение (python.re). При совпадении в ответе веб-сервера браузер остановит работу и будет ждать пока совпадение не исчезнет. Может использоваться для ручного ввода captcha или обхода anti-ddos защит («wait 5 secs, we check your browser»). |
Last updated