[M] FuzzerUrls

Общее описание

Используется для фаззинга параметров URL. На данный момент только методом GET. Модуль принимает от пользователя список уже известных URL в параметре «--urls-file». Для каждого из них генерируются вариации URL в которых модифицируется только один параметра за раз. Генерация происходит по шаблонам из файла bases/fuzzer/templates.txt . В них на место подстроки «|name|» помещается имя параметра, а на место подстроки «|value|» его значение. Например, для URL «http://site.com/file.php?a=1&b=2» по шаблону «|name|[][]=|value|» будут созданы следующие URL:

Все итоговые URL запрашиваются на целевом сервере. Считается что интересный URL найден если ответ сервера имеет код 5** или в его теле есть фразы из файла bases/fuzzer/bad-words.txt.

Модуль работает в raw и selenium режимах.

Примеры

Фаззинг параметров URL

./ws.py FuzzerUrls --urls-file bases/demo/fuzzer-urls.txt

Опции (* - обязательные)

R - присутствует ли в raw режиме S - присутствует ли в selenium режиме.

Имя

По умолчанию

R

S

Описание

--urls-file *

Да

Да

Список целевых URL. Их хосты не обязательно должны совпадать.

--proxies

Да

Да

Файл со списком http-proxy.

--retest-re

Да

Да

Регулярное выражение (python.re) для поиска в ответе сервера признака необходимости переотправить запрос. Например «Service Temporarily Unavailable».

--retest-codes

Да

Нет

Набор кодов (через запятую) указывающих на то, что запрос нужно отправить заново. Например «502,503».

--headers-file

Да

Нет

Файл с http заголовками для включения в заголовки запроса.

--msymbol

@

Да

Да

Маркировочный символ для шаблона поиска.

--delay

0

Да

Да

Задержка между запросами (в секундах). Касается не всех рабочих потоков в целом, а каждого потока в частности.

--threads

10

Да

Да

Количество рабочих потоков

--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»).