Содержание статьи
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Токены и сессии
Токены CSRF могут быть проблемой при атаках с помощью Intruder. Но есть несколько возможных решений. Первый вариант — использовать пейлоад Recursive grep. Он меняет поведение Intruder, заставляя его парсить каждый ответ перед тем, как сделать новый запрос. Сделал запрос, вытащил токен и подставил его в следующий запрос.
Для теста я использую тестовое уязвимое приложение DVWA, просто потому, что на уровне High там есть защита токеном CSRF. Ты можешь использовать любой сайт, на который получил разрешение для тестов. Если хочешь установить DVWA, сделай это через Docker:
docker run -d -p 8085:80 vulnerables/web-dvwa
Burp некорректно работает с доменом localhost и IP-адресом 127., поэтому добавь в hosts локальный домен:
# Other hosts127.0.0.1 test.local
Зайди на http://, логинься с кредами admin/. Промотай вниз, нажми кнопку создания базы данных. Приложение создаст базу и предложит снова залогиниться. На этот раз используй admin/. Найди меню DVWA Security, измени уровень безопасности на High.
Перед атакой идем на /. Это форма смены пароля, которая защищена от CSRF. Вбиваем любые данные и отправляем форму, чтобы перехватить GET-запрос.
Нужно убедиться, что защита от CSRF включена: пойманный запрос перекидываю в Repeater и снова отправляю на сервер. В ответе ошибка: приложение ругается на неправильный токен. Значит, мы на верном пути.

Отправляю запрос в Intruder. Так как это форма смены пароля, в запросе два поля, которые должны содержать одинаковые данные. Выделяю значения параметров password_new и password_conf, делаю их переменными (или точками инъекции, как тебе удобнее). В настройках пейлоадов указываю Simple list. Как словарь выбираю одинаковые файлы с паролями.
warning
Каждый раз, когда отправляешь запрос в Intruder, очищай маркеры кнопкой Clear. Если в запросе был выделен текст, Intruder автоматически пометит его как переменную. Если не заметишь, атака пойдет не по плану. Лучше приучить себя очищать запрос перед началом работы.
Вверху окна Intruder выбираем тип атаки Pitchfork. При такой атаке Intruder последовательно берет данные из словарей, никак не перемешивая их и не дублируя. У нас два пароля, и к каждому привязан свой словарь. Сначала Intruder возьмет по первой строчке и подставит в соответствующие переменные, потом — по второй, и так, пока не закончатся словари.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
