CyberGlossary

Уязвимости

Инъекция заголовка Host

Также известно как: Инъекция X-Forwarded-Host, Злоупотребление виртуальным хостом

Определение

Уязвимость, при которой приложение доверяет HTTP-заголовку Host (или X-Forwarded-Host) при построении URL, что позволяет перенаправлять пользователей или отравлять кеши.

Инъекция Host возникает, когда серверный код использует заголовок Host или его прокси-варианты (X-Forwarded-Host) для построения абсолютных URL (ссылки сброса пароля, редиректы, src изображений, canonical, OAuth callback) без проверки по allow-list. Атакующий подменяет заголовок и направляет ссылки на враждебный домен, что приводит к отравлению сброса пароля, отравлению кеша, SSRF или маршрутизации ответа на хост атакующего. Часто встречается в схемах с обратным прокси и фреймворках с множеством источников Host. Меры защиты: формировать URL от настроенного доверенного хоста, валидировать Host/X-Forwarded-Host по allow-list, отбрасывать неизвестные forwarded-заголовки на границе, использовать HSTS.

Примеры

  • Запуск сброса пароля, при котором по почте уходит ссылка https://attacker.com/reset?token=... потому что приложение использует Host.
  • Отравление кеша CDN заголовком X-Forwarded-Host, чтобы /index возвращал URL атакующего.

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