[M] ParamsDict и ParamsMask
Общее описание
Модули занимаются поиском параметров с которыми можно обращаться к URL. Логика работы основана на том, что обращение к URL с определёнными параметрами изменяет контент возвращаемый им.
Возможно 4 варианта поиска — методами GET, POST, в cookies и загружаемых файлах. Поиск методом GET выглядит как запрос URL с большим количеством параметров. У метода POST параметры передаются в теле запроса. В поиске через cookies параметры передаются как множество cookies с различными именами. А в поиске через загружаемые файлы на сервер отправляются запросы загрузки нескольких файлов с мизерным содержимым.
Важный момент. Количество одновременно передаваемых в запросах параметров регулируется опцией «--max-params-length». Она имеет двойное значение. Для GET и POST это максимальная длина строки параметров вместе с их значением и амперсандами (a=1&b=1&c=1...). Для cookies и файлов это количество самих имён проверяемых за один запрос. Рекомендуемые значения параметра «--max-params-length» для GET и POST составляют 1000. Для cookies и файлов — 20.
Значение, помещаемое в искомые параметры по умолчанию «1» и может меняться через указание опции «--value».
Работа модулей осуществляется как в режиме «сырого» http, так и средствами selenium.
Примеры
Поиск параметров скрипта методом GET по словарю:
Поиск параметров скрипта методом GET по маске:
Поиск параметров скрипта принимающего файлы на загрузку:
Опции (* - обязательно)
R - присутствует ли в raw режиме S - присутствует ли в selenium режиме.
Имя
По умолчанию
R
S
Описание
--url *
Да
Да
Целевой URL
--params-method *
Да
Да
Метод поиска. GET, POST, COOKIES, FILES
--max-params-length *
Да
Да
Для GET и POST это максимальная длина строки параметров вместе с их значением и амперсандами (a=1&b=1&c=1...). Для cookies и файлов это количество самих имён проверяемых за один запрос. Рекомендуемые значения параметра «--max-params-length» для GET и POST составляют 1000. Для cookies и файлов — 20.
--dict *
Да
Да
Для ParamsDict. Путь к словарю для перебора.
--mask *
Да
Да
Для ParamsMask. Маска для перебора.
--combine-template *
Да
Да
Для ParamsCombine. Шаблон для комбинированного поиска. Строка с вхождениям маркеров «%m%» и «%d%» на чьё место подставляются слова из маски и словаря соответственно.
--value
1
Да
Да
Значение которое помещается в искомые параметры.
--not-found-re
Да
Да
Регулярное выражение (python.re) для определения отрицательного ответа веб-сервера (аналог кода 404)
--not-found-size
Да
Да
Размер отрицательного ответа (аналог кода 404). Помните что он может отличаться у разных утилит. Пользуйтесь тестовым режимом чтоб узнать нужное вам значение.
--proxies
Да
Да
Файл со списком http-proxy.
--retest-re
Да
Да
Регулярное выражение (python.re) для поиска в ответе сервера признака необходимости переотправить запрос. Например «Service Temporarily Unavailable».
--retest-codes
Да
Нет
Набор кодов (через запятую) указывающих на то, что запрос нужно отправить заново. Например «502,503».
--headers-file
Да
Нет
Файл с http заголовками для включения в заголовки запроса.
--ignore-words-re
Да
Да
Регулярное выражение (python.re) для игнорирования проверяемых фраз. Пригодится в случаях когда вам не нужно проверять слова из словаря/маски содержащие какой-либо фрагмент, например начинающиеся на «.ht».
--msymbol
@
Да
Да
Маркировочный символ для шаблона поиска.
--delay
0
Да
Да
Задержка между запросами (в секундах). Касается не всех рабочих потоков в целом, а каждого потока в частности.
--threads
10
Да
Да
Количество рабочих потоков
--parts
0
Да
Да
На сколько частей разбить проверяемый список (словарь, маску)
--part
0
Да
Да
С какой из частей проверяемого списка работаем.
--test
0
Да
Да
Включение тестового режима
--xml-report
0
Да
Да
Путь к xml-отчёту
--selenium
0
Нет
Да
Включение selenium-режима
--browser-recreate-re
Нет
Да
Регулярное выражение (python.re). При совпадении в ответе веб-сервера бразер будет закрыт и запущен заново. При этом будет сменён прокси, если они используются.
--browser-wait-re
Нет
Да
Регулярное выражение (python.re). При совпадении в ответе веб-сервера браузер остановит работу и будет ждать пока совпадение не исчезнет. Может использоваться для ручного ввода captcha или обхода anti-ddos защит («wait 5 secs, we check your browser»).
Last updated
Was this helpful?