- Регистрация
- 13 Июн 2025
- Сообщения
- 26
- Реакции
- 1
- Баллы
- 3
Что такое CSRF?
CSRF (Cross-Site Request Forgery) - это уязвимость, позволяющая злоумышленнику выполнять действия в веб-приложении от имени авторизованного пользователя без его ведома.
Как работает уязвимость?
1. Пользователь авторизуется на сайте (например, банке)
2. Не выходя из системы, посещает вредоносную страницу
3. Эта страница автоматически отправляет запрос к банку от имени пользователя
Пример уязвимой формы перевода денег:
Чем опасна CSRF?
• Перевод денег без согласия пользователя
• Изменение пароля/email аккаунта
• Публикация сообщений от имени пользователя
• Совершение покупок в интернет-магазинах
Как обнаружить?
1. Проверьте, есть ли CSRF-токены в формах
2. Попробуйте повторить запрос без токена
3. Проверьте заголовок Origin/Referer (если не проверяется)
4. Убедитесь, что для важных действий требуется повторный ввод пароля
Методы защиты
• Использование CSRF-токенов (уникальных для каждой сессии)
• Проверка заголовков Origin/Referer
• Для критичных операций - повторный ввод пароля
• Использование CAPTCHA
• Установка SameSite cookies
Реальные примеры
• CSRF в YouTube (2008) - позволяла добавлять видео в избранное
• Уязвимость в интернет-банках (истории известны случаи краж)
• CSRF в некоторых CMS (например, WordPress в старых версиях)
Важно: Всегда тестируйте CSRF только на системах, где у вас есть разрешение на тестирование!
CSRF (Cross-Site Request Forgery) - это уязвимость, позволяющая злоумышленнику выполнять действия в веб-приложении от имени авторизованного пользователя без его ведома.
Как работает уязвимость?
1. Пользователь авторизуется на сайте (например, банке)
2. Не выходя из системы, посещает вредоносную страницу
3. Эта страница автоматически отправляет запрос к банку от имени пользователя
Пример уязвимой формы перевода денег:
Код:
<form action="https://bank.com/transfer" method="POST">
<input type="hidden" name="amount" value="1000">
<input type="hidden" name="to" value="hacker_account">
</form>
<script>document.forms[0].submit()</script>
Чем опасна CSRF?
• Перевод денег без согласия пользователя
• Изменение пароля/email аккаунта
• Публикация сообщений от имени пользователя
• Совершение покупок в интернет-магазинах
Как обнаружить?
1. Проверьте, есть ли CSRF-токены в формах
2. Попробуйте повторить запрос без токена
3. Проверьте заголовок Origin/Referer (если не проверяется)
4. Убедитесь, что для важных действий требуется повторный ввод пароля
Методы защиты
• Использование CSRF-токенов (уникальных для каждой сессии)
• Проверка заголовков Origin/Referer
• Для критичных операций - повторный ввод пароля
• Использование CAPTCHA
• Установка SameSite cookies
Реальные примеры
• CSRF в YouTube (2008) - позволяла добавлять видео в избранное
• Уязвимость в интернет-банках (истории известны случаи краж)
• CSRF в некоторых CMS (например, WordPress в старых версиях)
Важно: Всегда тестируйте CSRF только на системах, где у вас есть разрешение на тестирование!