Как работает инъекция заголовка?
Я прочитал раздел об инъекциях заголовка, как описано здесь: http://guides.rubyonrails.org/security.html. Но я не могу пошагово увидеть пример этого в моей голове. Может ли кто-нибудь рассказать мне, как использование заголовка referer может вызвать проблемы в приложении?
1 ответ
Это очень просто: злонамеренный пользователь может вставить из-за уязвимости в более ранних версиях Ruby и RoR последовательность символов в кодировке URL "%0d%0a", которые эквивалентны "\ r \ n", то есть возврату каретки и перевод строки.
Таким образом, новые строки в заголовке могут быть добавлены с новой информацией в виде файлов cookie, перенаправлений, ссылок и любой другой информации, которая может быть использована, чтобы помочь злоумышленнику выполнить свою задачу.
Например, возможно, что ссылка, которую вы послали, не совсем подходит, но подумайте о проверке файлов cookie для доступа к частному сайту. Некоторые сайты используют для поиска файла cookie со значением, таким как "истина" или "1", после того, как пользователь прошел процесс проверки. Если вы вставите в заголовок значение cookie, не пройдя процесс проверки, вы должны получить доступ к личным страницам без необходимости входа в приложение.