# HTTP Connection Contamination

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS Red Team Expert）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>

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

Web浏览器可以通过[HTTP连接合并](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing)在共享IP地址和公共TLS证书的情况下，重用单个HTTP/2+连接用于不同的网站。然而，这可能与反向代理中的**首次请求路由**发生冲突，后续请求被定向到由第一个请求确定的后端。这种错误路由可能导致安全漏洞，特别是当与通配符TLS证书和类似`*.example.com`的域结合时。

例如，如果`wordpress.example.com`和`secure.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地址匹配要求，可能扩大攻击面，使具有通配符证书的服务器更易受攻击，而无需进行中间人攻击。

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