Knowledge Base
Safe Active Host Header Check
Safe Active Host Header Check
Категория: Web App Security · Риск: medium
Safe Active Host Header Check
Что проверяет NodeRoute
NodeRoute отправляет один безопасный `GET` с неожиданным `Host`:
Host: noderoute-host-probe.invalid
Сканер смотрит, отражается ли этот host в `Location` или HTML, и не вызывает ли он 5xx.
Почему это важно
Некоторые приложения используют `request.host` для генерации абсолютных ссылок, reset-ссылок, canonical URL или cache keys.
Если чужой Host отражается, возможны:
- password reset poisoning;
- cache poisoning;
- неверные ссылки в письмах;
- обход части routing-логики.
Хороший результат
- неизвестный Host возвращает `400`, `403` или `421`;
- Host не отражается в HTML и redirect;
- backend не получает такой запрос напрямую.
Плохой результат
- Host отражается в ответе;
- неизвестный Host вызывает `500/502/503`;
- приложение строит абсолютные URL из входящего Host.
Как исправить
Nginx
server {
listen 80 default_server;
return 421;
}
server {
server_name example.com www.example.com;
proxy_set_header Host $host;
}
В приложении задайте `BASE_URL` явно, а не из `request.host`.
Связанные проверки
- [Host Header Injection](/kb/web_app_security/host-header-injection)
- [Safe Active Diagnostics](/kb/monitoring/safe-active-diagnostics)