[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