CyberGlossary

Уязвимости

HTTP Request Smuggling

Также известно как: HRS, Контрабанда запросов

Определение

Атака, использующая расхождения между фронтенд-прокси и бэкендом в трактовке границы HTTP-запроса, позволяющая злоумышленнику тайно вставить второй запрос.

HTTP request smuggling эксплуатирует несовпадение разбора заголовков Content-Length и Transfer-Encoding (CL.TE, TE.CL, TE.TE) между промежуточными узлами — балансировщиками, CDN, обратными прокси и origin-серверами. Сформировав неоднозначный запрос, атакующий заставляет фронтенд и бэкенд по-разному определять конец сообщения, и «контрабандный» запрос обрабатывается в контексте соединения другого пользователя. Последствия: отравление кеша, кража учётных данных, обход WAF, перехват аккаунтов. Защита: нормализовать или отклонять неоднозначные запросы, использовать HTTP/2 от края до края, согласовывать реализации фронта и бэка, своевременно применять патчи вендоров.

Примеры

  • CL.TE-смаглинг против связки CDN/бэкенд, где CDN использует Content-Length, а origin — Transfer-Encoding.
  • Контрабандный POST на общем keep-alive соединении похищает заголовок Authorization следующего пользователя.

Связанные термины