漏洞
Host 头注入
别称: X-Forwarded-Host 注入, 虚拟主机滥用
定义
应用程序信任 HTTP Host(或 X-Forwarded-Host)头构造 URL,导致攻击者可以重定向用户或污染缓存的漏洞。
Host 头注入出现在服务端代码使用 Host 头(或 X-Forwarded-Host 等代理变体)构造绝对 URL(密码重置链接、跳转、图片 src、canonical 标签、OAuth 回调)而未对其作白名单校验时。攻击者操纵该头,把链接指向恶意域,导致密码重置投毒(钓鱼)、缓存投毒、SSRF,或将响应路由到攻击者控制的主机。在反向代理与多 Host 输入框架中很常见。缓解措施:从配置的可信 host 派生 URL、对 Host/X-Forwarded-Host 做白名单校验、在边缘丢弃未知的 forwarded 头、启用 HSTS。
示例
- 因为应用使用 Host,触发的密码重置邮件包含 https://attacker.com/reset?token=...。
- 通过 X-Forwarded-Host 令 /index 发出攻击者 URL,污染 CDN 缓存。