CyberGlossary

Уязвимости

HTTP-десинхронизация

Также известно как: Десинк HTTP/1.1, Атака состояния соединения

Определение

Современная форма HTTP request smuggling, рассинхронизирующая цепочку прокси и серверов для инъекции вредоносного трафика в соединения других пользователей.

Метод популяризован исследованием Джеймса Кеттла 2019 года "HTTP Desync Attacks". Атака намеренно рассогласовывает разбор потока запросов между фронтенд-прокси и бэкендом, используя приёмы CL.TE, TE.CL, TE.TE, даунгрейд HTTP/2 → HTTP/1.1 и трюки с chunked-кодированием. После десинхронизации байты, контролируемые атакующим, дописываются перед запросом следующей жертвы — что ведёт к краже учётных данных, доступу к внутренним endpoint, отравлению очереди ответов и обходу аутентификации или WAF. Защита: сквозной HTTP/2, строгая валидация заголовков, отказ от запросов с одновременными Content-Length и Transfer-Encoding, отбраковка неоднозначных запросов на краю, непрерывное тестирование инструментами вроде HTTP Request Smuggler.

Примеры

  • Десинк через даунгрейд HTTP/2 → HTTP/1.1, экспортирующий cookies сессий других пользователей.
  • Десинк на keep-alive фронтенда, перехватывающий следующий запрос на внутренний admin URL.

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