|
HTTP Header欺骗(Host头攻击)——伪造目标域名 摘要:Host头攻击是一种利用Web服务器依赖Host请求头生成链接或重置密码邮件的行为。黑客修改Host头为恶意域名,诱使服务器发送钓鱼链接或泄露内部信息。本文通过重置密码邮件劫持示例讲解Host头注入,并提供白名单验证、不使用Host头生成URL等防御。 关键词:黑客网站攻击;Host头攻击;渗透测试;请求走私变种;密码重置劫持 一、引言许多Web应用使用$_SERVER['HTTP_HOST']或request.getHeader("Host")来构建绝对URL。如果服务器信任该头而不验证,黑客可通过修改Host头,使密码重置邮件中的链接指向evil.com,用户点击后窃取token。 二、攻击示例三、防御措施白名单验证Host头:仅允许已配置的域名。 不使用Host头生成URL:使用配置中的serverName或从X-Forwarded-Host(可信代理)。 使用绝对路径而非绝对URL:/reset?token=123 不包含域名。 Web服务器层面:Apache VirtualHost中仅响应合法域名,Nginx设置server_name。
四、总结Host头攻击配置简单,防御也简单:不要信任用户提供的Host头,而是使用白名单。
|