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

45 lines
4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HTTP Connection Contamination
{% hint style="success" %}
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
</details>
{% endhint %}
**这是文章的摘要:[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) 在不同网站之间重用单个 HTTP/2+ 连接,前提是共享 IP 地址和通用 TLS 证书。然而,这可能与反向代理中的 **首次请求路由** 冲突,其中后续请求被定向到由第一次请求确定的后端。这种错误路由可能导致安全漏洞,特别是当与通配符 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地址匹配要求这可能会扩大攻击面使得使用通配符证书的服务器在不需要MITM攻击的情况下更容易受到攻击。
最佳实践包括在反向代理中避免首次请求路由并对通配符TLS证书保持谨慎特别是在HTTP/3出现之后。定期测试和对这些复杂、相互关联的漏洞保持警觉对于维护网络安全至关重要。
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}