HTTP 连接请求走私
Reading time: 3 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
这是文章的摘要 https://portswigger.net/research/browser-powered-desync-attacks
连接状态攻击
第一次请求验证
在路由请求时,反向代理可能依赖于 Host header 来确定目标后端服务器,通常依赖于允许访问的主机白名单。然而,一些代理存在漏洞,白名单仅在连接的初始请求中强制执行。因此,攻击者可以通过首先向允许的主机发出请求,然后通过同一连接请求内部站点来利用这一点:
GET / HTTP/1.1
Host: [allowed-external-host]
GET / HTTP/1.1
Host: [internal-host]
First-request Routing
在某些配置中,前端服务器可能会使用第一个请求的Host头来确定该请求的后端路由,然后将来自同一客户端连接的所有后续请求持久性地路由到相同的后端连接。这可以表示为:
GET / HTTP/1.1
Host: example.com
POST /pwreset HTTP/1.1
Host: psres.net
此问题可能与 Host header attacks 结合,例如密码重置中毒或 web cache poisoning,以利用其他漏洞或获得对其他虚拟主机的未经授权访问。
note
要识别这些漏洞,可以利用 HTTP Request Smuggler 中的 'connection-state probe' 功能。
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。