hacktricks/pentesting-web/http-connection-contamination.md

4 KiB
Raw Blame History

HTTP Connection Contamination

{% hint style="success" %} 学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}

这是文章的摘要:https://portswigger.net/research/http-3-connection-contamination。查看以获取更多详细信息!

Web 浏览器可以通过 HTTP 连接合并 在不同网站之间重用单个 HTTP/2+ 连接,前提是共享 IP 地址和通用 TLS 证书。然而,这可能与反向代理中的 首次请求路由 冲突,其中后续请求被定向到由第一次请求确定的后端。这种错误路由可能导致安全漏洞,特别是当与通配符 TLS 证书和像 *.example.com 这样的域名结合时。

例如,如果 wordpress.example.comsecure.example.com 都由同一个反向代理提供服务,并且有一个通用的通配符证书,浏览器的连接合并可能导致对 secure.example.com 的请求被错误地处理为 WordPress 后端,从而利用诸如 XSS 的漏洞。

要观察连接合并,可以使用 Chrome 的网络选项卡或 Wireshark 等工具。以下是测试的代码片段:

fetch('//sub1.hackxor.net/', {mode: 'no-cors', credentials: 'include'}).then(()=>{ fetch('//sub2.hackxor.net/', {mode: 'no-cors', credentials: 'include'}) })

目前由于首次请求路由的稀有性和HTTP/2的复杂性威胁受到限制。然而HTTP/3中提出的更改放宽了IP地址匹配要求这可能会扩大攻击面使得使用通配符证书的服务器在不需要MITM攻击的情况下更容易受到攻击。

最佳实践包括在反向代理中避免首次请求路由并对通配符TLS证书保持谨慎特别是在HTTP/3出现之后。定期测试和对这些复杂、相互关联的漏洞保持警觉对于维护网络安全至关重要。

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}