Основы этичного веб-хакинга (перевод)

CRLF-инъекция

Описание 
CRLF, или Carriage Return Line Feed, относится к тому типу 
уязвимостей, которые происходят, когда юзер вставляет CRLF 
в приложение. Символы CRLF означают конец строки для 
множества интернет-протоколов, включая HTML, и выглядят 
как %0D%0A, что декодируется в \r\n. Они могут быть ис- 
пользованы для обозначения переноса строк и в сочетании 
с заголовками HTTP-запросов и ответов могут приводить к 
различным уязвимостям, включая HTTP Request Smuggling и 
HTTP Response Splitting. 
Если говорить о HTTP Request Smuggling, это обычно про- 
исходит когда HTTP-запрос проходит через сервер, который 
обрабатывает его и передает другому серверу, как прокси или 
файрволл. Этот тип уязвимости может привести к: 
• Отравлению кэша, ситуации, в которой атакующий мо- 
жет изменять записи в кэше и отдавать вредоносные 
страницы (например, содержащие javascript) вместо кор- 
ректных 
• Обходу файрволла, ситуации, в которой запрос может 
быть создан таким образом, чтобы обойти проверки без- 
опасности, обычно, включает в себя CRLF и чрезмерно 
большие тела запросов 
• Кражу запроса, ситуации, в которой атакующий может 
украсть HttpOnly cookies и информации о HTTP аутен- 
тификации. Это похоже на XSS, но не требует взаимо- 
действия между клиентом и хакером Хотя эти уязвимости существуют, их трудно обнаружить. Я 
описываю их здесь, чтобы вы могли понять, насколько опас- 
ной может быть Request Smuggling (кража запроса). 
Зная о HTTP Response Splitting, хакеры могут устанавливать 
произвольные заголовки ответа, контролировать тело ответа 
или разделять ответ полностью, предоставляя два ответа вме- 
сто одного, как показано в примере #2 - разделение ответа 
на v.shopify.com (если вам нужно напоминание о заголовках 
HTTP запросов и ответов, перелистните на главу “Фоновые 
знания”).



Отредактировано: 08.03.2019





Понравилась книга?
Отложите ее в библиотеку, чтобы не потерять