HTTP 连接污染

Reading time: 4 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

这是文章的摘要: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 这样的工具。以下是测试的代码片段:

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

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

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

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks