Веб и безопасность приложений

Проверка заголовка Host

Определение

Проверка заголовка Host — сверка указанного в запросе имени и порта с явным списком адресов, которые обслуживает приложение.

Также ищут: Host header validation · проверка Host · authority allowlist · X-Forwarded-Host validation

Зачем это знать

Непроверенный Host может попасть в ссылку сброса пароля, перенаправление, ключ кеша или выбор виртуального узла.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. Host передаёт имя и порт целевого URI и помогает серверу различать ресурсы для нескольких имён, поэтому значение влияет на маршрутизацию.

    Граница применимости: Заголовок Host и адрес цели в HTTP.

  2. Критичные абсолютные URL и маршруты строят из настроенного основного адреса или разрешённого Host, а не из произвольного Host или X-Forwarded-Host.

    Граница применимости: Защита от подмены заголовка Host.

  3. Ссылка восстановления доступа должна вести на адрес, разрешённый приложением. Если её абсолютный адрес собрать из непроверенного Host или пересланного аналога, внешняя строка запроса начнёт определять назначение чувствительной ссылки.

    Граница применимости: Защитное правило построения ссылок по OWASP; не требование HTTP выдавать ссылки восстановления.

  4. Проверка имени сервиса в сертификате отвечает на вопрос, к какому TLS-узлу подключился клиент. Она сама не проверяет, допустим ли адрес, который пришёл в конкретном HTTP-запросе к приложению.

    Граница применимости: Разделение проверки имени транспортного сервиса и разрешённого адреса HTTP.

  5. Когда приложение использует пересланное имя узла, требуются две проверки по выбранной архитектуре: происхождение значения от доверенного прокси и принадлежность имени к обслуживаемым адресам. Одна проверка не выполняет другую.

    Граница применимости: Защитная политика для приложений, использующих пересланные метаданные адреса.

Граница терминов

Не путать

Проверка заголовка Host Граница доверенного прокси

Известный прокси подтверждает путь метаданных, но присланный ему адрес всё ещё сверяют с разрешёнными адресами приложения.

Перед спецификацией

Что проверить

  1. Задайте обслуживаемые имена и порты приложения.
  2. Стройте чувствительные ссылки из проверенного основного адреса.
  3. Проверьте отдельное поведение неизвестного Host.
  4. Учтите пересланное имя только от доверенного пути.
  5. Не заменяйте список разрешённых адресов фактом успешного TLS.
  6. Проверьте перенаправления и ссылки восстановления доступа.
  7. Повторите проверку при изменении числа прокси и правил маршрутизации.
Открытые основания

Первоисточники

  • Стандарт3
  • Документация1
  • Первичная спецификация
    HTTP Semantics Internet Engineering Task Force · RFC 9110, June 2022 · проверено

    Определяет stateless HTTP, origin server, intermediaries, target URI и security significance полей authority и Host.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Официальная документация
    Testing for Host Header Injection OWASP Foundation · OWASP Web Security Testing Guide, checked 30 August 2026 · проверено

    Описывает атаки через Host/X-Forwarded-Host и рекомендует не доверять им при построении reset links, redirects и routing decisions.

    Утверждения: 02 · 03 · 04 · 05

  • Первичная спецификация
    Service Identity in TLS Internet Engineering Task Force · RFC 9525, November 2023 · проверено

    Задаёт construction и verification reference identifiers для TLS services; server identity находится в subjectAltName, не в commonName.

    Утверждения: 04

  • Первичная спецификация
    Forwarded HTTP Extension Internet Engineering Task Force · RFC 7239, June 2014 · проверено

    Определяет Forwarded для client, proxy, host и protocol metadata и предупреждает о privacy и integrity рисках.

    Утверждения: 05

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие