WebGoat/webapp/lesson_plans/ru/CsrfTokenByPass.html

42 lines
3.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="Center">
<p><b>Название урока:</b>Обход CSRF-защиты основанной на токенах</p><br/>
</div>
<p><b>Тема для изучения:</b> </p>
На данном уроке вы научитесь осуществлять CSRF-нападения на сайты, использующие токены в качестве защиты
от CSRF-атак.
<br>
<div align="Left">
<p>
<b>Как работают эти атаки:</b>
</p>
<p>
CSRF-атаки заставляют браузер жертвы осуществлять необходимые злоумышленнику запросы
к целевому серверу в невидимом режиме. Это позволяет атакующему вызывать выполнение различных операций
от лица атакованного пользователя с его правами и привилегиями.</p>
<p>Аутентификация запросов принимаемых от посетителей, основанная на уникальных токенах, предотвращает
возможность CSRF-нападений. При использовании данной техники, при отправке важного запроса, серверу
передаётся уникальный для каждого клиента токен, наличие которого подтверждает его легитимность.
Проект OWASP CSRFGuard как раз использует такой подход, позволяя защитить приложения от CSRF-нападений.
</p>
<p>
Тем не менее, данный вид защиты можно обойти. Для этого достаточно обнаружить на атакуемом сайте XSS-уязвимость.
Её наличие поможет отправлять запросы от имени жертвы, ведь системы безопасности всех браузеров,
основанных на политике одного источника, не запрещают обращаться к текущему домену.
</p>
</div>
<p><b>Основные цели и задачи:</b> </p>
<!-- Start Instructions -->
Как и в прошлом уроке, вашей целью является отправка письма в новостную группу для вызова нелегитимного
перевода денег. Для её достижения вам необходимо узнать действующий токен. Он находится в коде страницы на
которой расположена форма перевода денег. Для того чтоб увидеть форму, необходимо к текущему URL
дописать параметр "transferFunds=main". Загрузите эту страницу, считайте оттуда значение токена и осуществите перевод.
В конце работы обновите текущую страницу. Если задание выполнено верно, то в главном меню, на против этого урока,
появится зелёная отметка.
<!-- Stop Instructions -->