Burp Suite. Как построить CSRF - атаку
@gebutcherПродолжим рассматривать CSRF уязвимости как в теории, так и на практических примерах.
Создание HTML, необходимого для эксплойта CSRF, вручную может быть обременительным, особенно если желаемый запрос содержит большое количество параметров или в запросе есть другие особенности. Самый простой способ создать эксплойт CSRF - использовать генератор CSRF PoC, встроенный в Burp Suite Professional:
- Выберите запрос в любом месте Burp Suite Professional, который вы хотите протестировать или использовать.
- В контекстном меню, вызываемом правой кнопкой мыши, выберите Engagement tools / Generate CSRF PoC.
- Burp Suite сгенерирует некоторый HTML, который вызовет выбранный запрос (за вычетом файлов cookie, которые будут автоматически добавлены браузером жертвы).
- Вы можете настроить различные параметры в генераторе CSRF PoC для точной настройки аспектов атаки. Вам может потребоваться сделать это в некоторых необычных ситуациях, чтобы иметь дело с причудливыми функциями запросов.
- Скопируйте сгенерированный HTML-код на веб-страницу, просмотрите его в браузере, который вошел в систему на уязвимом веб-сайте, и проверьте, успешно ли выполнен целевой запрос и выполнено ли желаемое действие.
Практический пример: CSRF уязвимость без защиты.
Функция изменения адреса электронной почты в этой лабораторной работе уязвима для CSRF. Чтобы решить эту проблему, создайте HTML-код, который использует CSRF-атаку, чтобы изменить адрес электронной почты зрителя и загрузить его на свой сервер.
Когда ваш браузер проксирует трафик через Burp Suite, войдите в свою учетную запись, отправьте форму «Change email» и найдите полученный запрос в истории прокси.
Если вы используете Burp Suite Professional, щелкните запрос правой кнопкой мыши и в контекстном меню выберите Engagement tools / Generate CSRF PoC.
Включите опцию auto-submit script и нажмите «Regenerate». Если вы используете Burp Suite Community Edition, используйте следующий шаблон HTML и введите метод запроса, URL-адрес и параметры тела. Вы можете получить URL-адрес запроса, щелкнув правой кнопкой мыши и выбрав «Copy URL».
<form method="$method" action="$url"> <input type="hidden" name="$param1name" value="$param1value"> </form> <script> document.forms[0].submit(); </script>
Перейдите на сервер эксплойтов, вставьте HTML-код эксплойта в поле «Body» и нажмите «Store».
Чтобы проверить, будет ли эксплойт работать, попробуйте его на себе, нажав «View exploit» и проверив полученный HTTP-запрос и ответ.
Переход по данной ссылке и нажатие кнопки "Submint Request" инициирует смену емейла на ящик злоумышленника.