HTTP Request Smuggling
Что такое HTTP Request Smuggling?
HTTP Request SmugglingАтака, использующая расхождения между фронтенд-прокси и бэкендом в трактовке границы HTTP-запроса, позволяющая злоумышленнику тайно вставить второй запрос.
HTTP request smuggling эксплуатирует несовпадение разбора заголовков Content-Length и Transfer-Encoding (CL.TE, TE.CL, TE.TE) между промежуточными узлами — балансировщиками, CDN, обратными прокси и origin-серверами. Сформировав неоднозначный запрос, атакующий заставляет фронтенд и бэкенд по-разному определять конец сообщения, и «контрабандный» запрос обрабатывается в контексте соединения другого пользователя. Последствия: отравление кеша, кража учётных данных, обход WAF, перехват аккаунтов. Защита: нормализовать или отклонять неоднозначные запросы, использовать HTTP/2 от края до края, согласовывать реализации фронта и бэка, своевременно применять патчи вендоров.
● Примеры
- 01
CL.TE-смаглинг против связки CDN/бэкенд, где CDN использует Content-Length, а origin — Transfer-Encoding.
- 02
Контрабандный POST на общем keep-alive соединении похищает заголовок Authorization следующего пользователя.
● Частые вопросы
Что такое HTTP Request Smuggling?
Атака, использующая расхождения между фронтенд-прокси и бэкендом в трактовке границы HTTP-запроса, позволяющая злоумышленнику тайно вставить второй запрос. Относится к категории Уязвимости в кибербезопасности.
Что означает HTTP Request Smuggling?
Атака, использующая расхождения между фронтенд-прокси и бэкендом в трактовке границы HTTP-запроса, позволяющая злоумышленнику тайно вставить второй запрос.
Как защититься от HTTP Request Smuggling?
Защита от HTTP Request Smuggling обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия HTTP Request Smuggling?
Распространённые альтернативные названия: HRS, Контрабанда запросов.