HTTP Connection Contamination

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

支持HackTricks的其他方式:

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

Web浏览器可以通过HTTP连接合并在共享IP地址和公共TLS证书的情况下,重用单个HTTP/2+连接用于不同的网站。然而,这可能与反向代理中的首次请求路由发生冲突,后续请求被定向到由第一个请求确定的后端。这种错误路由可能导致安全漏洞,特别是当与通配符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地址匹配要求,可能扩大攻击面,使具有通配符证书的服务器更易受攻击,而无需进行中间人攻击。

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

最后更新于