Помните, если вы собираетесь разместить двоеточие в ваших заголовках, вам следует их экранировать обратным слэшем. Это требует перед каждой попыткой получение формы, извлечение этих случайных данных, добавление их в передаваемое с логином и паролем тело запроса; могут быть упрощённые варианты: статичные кукиз и статичные данные в скрытых полях формы. Txt я убираю все строки, кроме 1337 (чтобы уже взломанные пользователи не отнимали время). Методы отправки данных Как уже было упомянуто, веб-формы могут отправлять данные методом GET или post. Анализ статичных данных (html кода) может быть трудным и очень легко что-то пропустить. Будем надеяться, что он её поправит. И опять мы выбираем игнорировать (не показывать нам) все попытки входа, если в ответе содержится слово incorrect: -x ignore:fgrep'incorrect' После опции -t можно указать количество потоков: -t 50 Всё вместе:./ http_fuzz url"localhost/mutillidae/p" methodpost body'usernamefile0 passwordfile1 login-php-submit-buttonLogin' 0namelist_new. Программы patator, Hydra, Medusa могут перебирать пароли для разнообразных служб, но мы остановимся именно на веб-формах. Txt Установим количество потоков: -t 10 Из четырёх схожих модулей выбираем http-get-form и через символы указываем адрес localhost. Про Medusa этого сказать нельзя, но для нашей ситуации её функционала достаточно. Не забываем добавить заполнители file0 и file1: body'usernamefile0 passwordfile1 login-php-submit-buttonLogin' С опциями 0 и 1 мы передаём в программу словари имён пользователя и паролей: 0namelist_new. 'H ' заменит значение этого заголовка, если оно существует, тем, которое указал пользователь или добавит заголовок в конец. c число : Время ожидания в микросекундах верификации доступности сокета (по умолчанию 500 микросекунд). Эта форма служит для доступа в dvwa, страницы которой содержат уязвимые веб-приложения, в том числе те, которые предназначены для входа, но от которых мы не знаем пароли. После перебора словаря, видим, что один из паролей дал ответ с кодом 302 он и является верным. Более того, гибкость patator позволяет проводить брут-форс в обстоятельствах, которые были бы не по зубам Hydra и Medusa (если бы они работали). Тогда получается -x ignore:fgrep'incorrect'. Подразумевается с использованием опции -x) -C файл формат где "логин:пароль" разделены двоеточиями, вместо опции -L/-P -M файл список серверов для атакесто. ) patator предназначен для брут-форса большого количества разнообразных служб (и не только служб, кстати). Обратите внимание, вместо file0 и file1 используется сокращённая запись 0. Hydra Попробуем подобрать пароль с помощью Hydra. Брут-форс (перебор паролей) на веб-сайтах вызывает больше всего проблем у (начинающих) пентестеров. Данные отправляются тому же скрипту/файлу, который показывает форму). Их также нужно обязательно указывать. И ещё обратите внимание, что одну и ту же учётную запись мы взломали четыре раза. Brute-force (атака полным перебором) метод решения математических задач, сложность которого зависит от количества всех возможных решений. Теперь переходим в Burp Suite для анализа данных: Важные строки: GET /dvwa/vulnerabilities/brute/?usernameadmin passwordpassword11 LoginLogin http/1.1 Cookie: securitylow; phpsessid1n3b0ma83kl75996udoiufuvc2 Первая говорит о том, что данные передаются только методом GET, а также содержиуки. Попытка помечается как успешная, если этот текст отсутствует в ответе сервера. Txt wc -l 721 Всего комбинаций: А теперь давайте удалим дубликаты и снова посчитаем количество комбинаций: cat namelist. В данном случае данные отправляются только методом GET, но нужно помнить, что могут быть более необычные варианты. Если я введу в текстовое поле, например hackware, то после нажатия на кнопку «Отправить» будет открыта страница./p?strhackware. Там есть страничка входа http localhost/mutillidae/p, она отправляет данные методом post. Как это сделать описано на соответствующих страницах по приведённым ссылкам. Заключение В данной статье мы поверхностно рассмотрели некоторые популярные инструменты. Для этого необходимо создать зону лимитов. Противодействие Ограничить количество устанавливаемых соединений с использованием межсетевого экрана. Если сессия имеется, то мы будем беспрепятственно просматривать страницы dvwa. Мы только что в этом убедились сами. Далее с опцией url мы указываем адрес страницы, на которую отправляются данные: url"localhost/mutillidae/p" Опцией method мы задаём метод отправки данных: methodpost С patator мы ещё не применяли опцию body, теперь пришло её время. И тем не менее, брут-фос учётных данных на веб-сайтах очень интересен для тестеров на проникновение. Как мы помним, серверу передаётся строка /dvwa/vulnerabilities/brute/?usernameadmin passwordpassword11 LoginLogin, которая является относительным адресом страницы. Все эти данные разделены двоеточиями. По умолчанию этот модуль настроен следовать максимум пяти редиректам подряд.