Представьте, что у вас большое сотрудничество. Теперь кто-то нашел уязвимость CSRF, которая работает только через собственный сайт (так как сайт защищен проверкой заголовка Referer-Header, маркером CSRF). Это может выполнять критические действия, но только если запрос поступает с вашего сайта. Это означает, что небольшая атака XSS может выполнять более крупные действия с помощью этой уязвимости. Вы считали бы это критической уязвимостью и должны ли это вознаграждаться как атака CSRF?Вы считаете следующий сценарий как (опасный) CSRF?
ответ
Это называется On Site Request Forgery.
Уязвимость XSS всегда превосходит любую атаку CSRF/OSRF. Подумайте, если формы не были защищены реферированием, но были защищены токеном, атака XSS могла просто прочитать токен из DOM и затем отправить форму.
Таким образом, на сайте нет дополнительного риска. Единственным исключением из этого является то, что у вас есть Open Redirect Vulnerability в сочетании с небезопасным действием, реализованным как GET.
Say следующий URL доступен:
https://example.com/delete_my_account
Обработчик проверяет реферер, чтобы убедиться, что запрос исходит от https://example.com/*
.
Однако есть и другой доступный URL, который выдает JavaScript перенаправляет:
https://example.com/redirect_to_site
Это будет называться следующим образом в пределах сайта, чтобы отслеживать внешние ссылки:
https://example.com/redirect_to_site?https://google.com
Однако атака OSRF бы возможно путем создания атаки CSRF, перенаправляющей примерно на следующее:
https://example.com/redirect_to_site?https://example.com/delete_my_account
Поскольку референт отмечен, это подтвердит запрос, потому что только delete_my_account
проверяет референта здесь, поскольку это считается небезопасным действием. Однако, поскольку он может быть перенаправлен по незащищенному обработчику, он может победить защиту реферера.
Таким образом, если на сайте нет такой функциональности или если сайт не позволяет контенту пользователя создавать такие ссылки, нет никакой уязвимости при проверке ссылки для защиты CSRF.
Примечание: Прежде чем кто-нибудь отметит, что заголовок реферирования может быть подделан, это возможно только из собственного соединения злоумышленника. В атаке CSRF вам нужно, чтобы это было подделано на соединение жертвы - CSRF является атакой другого пользователя, поэтому, хотя реферист является слабой защитой, во многих случаях он по-прежнему адекватен.
- 1. Вы считаете это одноэлементным/одноэлементным?
- 2. Как вы считаете/суммируете в выражении лямбда
- 3. Как синхронизировать следующий сценарий
- 4. Как синхронизировать следующий сценарий?
- 5. В R, как вы считаете векторы символов?
- 6. Замок/Активные записи: Как вы считаете объекты?
- 7. Как вы считаете список строк VBA Excel?
- 8. Как вы считаете регистры в HLSL?
- 9. Spring CSRF сценарий защиты?
- 10. Как понять следующий сценарий оболочки?
- 11. Как понять следующий сценарий bash?
- 12. Что вы считаете минимальным ПК класса разработчиков?
- 13. Считаете ли вы неправильной практикой использование document.on()?
- 14. Вы считаете, что Терракота является зрелым продуктом?
- 15. Какая система вы считаете PHP Killer?
- 16. Log4net/Logging - Что вы считаете полезным?
- 17. Вы считаете, что это правильный тестовый пример?
- 18. Вы считаете это естественным первичным ключом?
- 19. Что вы считаете лучшей CMS в Java
- 20. Как вы считаете символы текстового поля в диалоговом окне?
- 21. Как вы считаете, что многословный термин обертывается и не ломается?
- 22. Как вы считаете, сколько раз повторяется цикл вложенных циклов?
- 23. Как вы считаете второй глубины уровня Чайлдс в XML
- 24. Как вы считаете цвета строк в Google Таблицах
- 25. В Java, как вы считаете, сколько раз нажата конкретная клавиша?
- 26. Как вы считаете свою базу установки приложений для iOS?
- 27. Как вы считаете автомобили в OpenCV с Python?
- 28. Как вы считаете каждую подпапку под почтовым ящиком Outlook?
- 29. Что делает следующий сценарий оболочки
- 30. лучший способ моделировать следующий сценарий
Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что не связано непосредственно с программированием. // Как ненадежный реферер, должно быть общеизвестным - поэтому, если часть вашей «безопасности» основана на нем, это уже плохая новость. – CBroe
Прошу прощения, но я обнаружил уязвимость в большом сотрудничестве, которое имеет именно этот сценарий. Существуют ли другие способы выполнения атаки, кроме XSS, или с использованием слабых сторон старых браузеров? Я просто хочу подготовиться к задаче, который они могут задать (если они спросят любого или решили отказаться от награды). Редактировать: Действительно ли они действительно ненадежны. Я искал в Интернете и нашел несколько источников, которые сказали, что это нормально, но не лучший метод. – nullexception