Программы patator, Hydra, Medusa могут перебирать пароли для разнообразных служб, но мы остановимся именно на веб-формах. После перебора словаря, видим, что один из паролей дал ответ с кодом 302 он и является верным. Параметр фильтрации подбирается индивидуально. В ней мы передаём те данные, которые оправляются серверу. Переходим теперь в Burp Suite: Здесь важными являются строки: post /mutillidae/p Referer: http localhost/mutillidae/p Cookie: showhints1; phpsessid1n3b0ma83kl75996udoiufuvc2 usernameadmin passwordpassword login-php-submit-buttonLogin Они говорят нам о том, что данные передаются методом post странице /mutillidae/p. b : Не выводить начальный баннер -q : Показать информацию об использовании модуля -v число : Уровень вербальности 0 - 6 (больше) -w число. Пары «имязначение» присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ ). Я буду работать с этими уязвимыми веб-приложениями, предустановленными. Теперь спуститесь в самый низ, найдите Allow requests to web interface using fully-qualifyed DNS hostnames и поставьте там галочку. Поведение веб-приложения при удачном или неудачном входе не ограничивается только показом сообщения. От этой формы мы знаем пару логин:пароль, введём. Там в самом верху в Proxy Listeners нажимаем Add и добавляем новый прослушиватель: на любом не занятом порту, например, 7070. Будем надеяться, что он её поправит. Файлы расположены в той же директории, что и скрипт patator, поэтому к нашей команде я добавляю 0namelist. Пример настройки iptables: -A input -i eth0 -p tcp -dport 22 -m connlimit -connlimit-above 1 -connlimit-mask 32 -j reject -reject-with tcp-reset. В некоторых случаях также важной могла бы оказаться строка с Referer : Referer: http localhost/dvwa/vulnerabilities/brute/ Но данное веб-приложение не проверяет Referer, поэтому в программе необязательно указывать этот заголовок. Это не требует получения их при каждой попытки входа. Методы отправки данных Как уже было упомянуто, веб-формы могут отправлять данные методом GET или post. Пользовательский http заголовок. Брут-форс входа в phpMyAdmin, WordPress, Joomla!, Drupal дописывается - будет добавлено позже Заключение Итак, из тройки patator, Hydra и Medusa полностью адекватно работающей оказалась только одна программа patator. Но мы не нашли ни одного (из четырёх) паролей пользователя. Примеры: p:useruser passpass:incorrect" p:useruser passpass coloncolon:escape:Sauthlog.*success" p:useruser passpass mid123:authlog.*failed" useruser passpass:failed:HAuthorization: Basic dT1w:HCookie: sessidaaaa:hX-User: user" exchweb/bin/auth/owaauth. Сократить риск подбора пароля можно, следуя следующим рекомендациям: используйте устойчивые к подбору пароли; не создавайте пароли, используя личную информацию, например: дату рождения или имя дата рождения или мобильный телефон; регулярно меняйте пароль; на всех аккаунтах применяйте уникальные пароли. Также передаются кукиз, которые содержат «phpsessid1n3b0ma83kl75996udoiufuvc2». Скорее всего, данные отправляются этому файлу, причём скорее всего используется метод post при ошибке входа показывается надпись «Password incorrect». Это также важно учитывать, поскольку вы ожидаете от знакомого вам веб-приложения «Account does not exist а с учётом своей локали оно будет показывать «ไมมบญชอย». Brute-force (атака полным перебором) метод решения математических задач, сложность которого зависит от количества всех возможных решений. Давайте выпишем только те опции, которые нам могут пригодиться для подбора пароля веб-сайтов: Глобальные опции patator (применимы ко всем модулям, в том чиуск. Теперь адрес страницы у нас будет статичным (не будет меняться а для указания передаваемых данных мы будем использовать специальную опцию. Как понять, что пароль успешно угадан? Брут-форс веб-форм, использующих метод post Если вы попробовали брут-форс веб-форм, когда они передают данные методом GET, и у вас всё получилось, то с методом post также не должно возникнуть особых проблем. Начинаем строить нашу команду. Тем не менее, часто формы содержат скрытые поля и поля, добавляемые на лету. Если бы мы догадались начать с удаления дубликатов, то количество комбинаций, необходимых для тестирования, сократилось бы примерно на 350 тысяч Пусть это послужит нам уроком. По умолчанию: "Login incorrect" custom-header? Выбирайте любое /mega зеркало, не останавливайтесь только на одном. Посчитаем количество имён пользователя: cat namelist. Он каждый раз собирает новое куки с того же URL без переменных. Кроме этого разнообразия, даже без проактивной защиты веб-форма может быть создана разработчиком так, что в неё уже после нажатия на кнопку «Отправить» добавляются поля, без которых сервер не принимает форму. Hydra Попробуем подобрать пароль с помощью Hydra. Т.е. Данный метод перебора занимает намного больше времени, чем при использовании Patator, Hydra, Medusa.д. Как это сделать описано на соответствующих страницах по приведённым ссылкам. Скачаем парочку, если с ними не получится подобрать пароль, то позже скачаем ещё и другие словари: wget m/1N3/BruteX/master/wordlists/namelist. Анализом статичного кода это выяснить иногда очень непросто. Когда передо мной стояла задача реализации одновременной отправки данных методом GET и post с помощью ajax, то задача оказалась довольно простой в решении. Официальные проекты /mega Площадка постоянно подвергается атаке, возможны долгие подключения и лаги.