CyberGlossary

Уязвимости

Расщепление HTTP-ответа

Также известно как: CRLF-инъекция в HTTP, Инъекция HTTP-заголовков

Определение

Уязвимость инъекции, при которой недоверенные символы CR/LF во входе пользователя заставляют сервер выдавать дополнительные подконтрольные злоумышленнику HTTP-ответы.

Расщепление HTTP-ответа (CRLF-инъекция) возникает, когда приложение помещает пользовательский ввод в заголовки ответа — Location, Set-Cookie или собственные — без фильтрации CR/LF. Внедряя %0d%0a, атакующий завершает оригинальный блок заголовков и вставляет свои заголовки, статусную строку или даже целый второй ответ. Последствия: отравление кеша, XSS, фиксация сессии, утечка учётных данных промежуточным узлам. Классические упоминания — CWE-113 и CVE-2004-0500. Защита: отклонять или экранировать CR/LF в значениях заголовков, использовать фреймворки, запрещающие переводы строк в API заголовков, применять redirect-хелперы, URL-кодирующие входные данные.

Примеры

  • Установка заголовка Location из пользовательского параметра, содержащего %0d%0a, для внедрения Set-Cookie.
  • Расщепление ответа, чтобы кеш сохранил подконтрольное атакующему тело для /home.

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