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

45 lines
4.3 KiB
Markdown

# HTTP Connection Contamination
{% 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 %}
**To jest podsumowanie posta: [https://portswigger.net/research/http-3-connection-contamination](https://portswigger.net/research/http-3-connection-contamination)**. Sprawdź to, aby uzyskać więcej szczegółów!
Przeglądarki internetowe mogą ponownie używać pojedynczego połączenia HTTP/2+ dla różnych stron internetowych dzięki [HTTP connection coalescing](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing), pod warunkiem, że mają wspólne adresy IP i wspólny certyfikat TLS. Jednak może to kolidować z **routingiem pierwszego żądania** w reverse-proxy, gdzie kolejne żądania są kierowane do zaplecza określonego przez pierwsze żądanie. To błędne kierowanie może prowadzić do luk w zabezpieczeniach, szczególnie w połączeniu z certyfikatami TLS typu wildcard i domenami takimi jak `*.example.com`.
Na przykład, jeśli `wordpress.example.com` i `secure.example.com` są obsługiwane przez ten sam reverse proxy i mają wspólny certyfikat wildcard, koalescencja połączeń w przeglądarce może spowodować, że żądania do `secure.example.com` będą błędnie przetwarzane przez zaplecze WordPressa, wykorzystując luki takie jak XSS.
Aby zaobserwować koalescencję połączeń, można użyć zakładki Sieć w Chrome lub narzędzi takich jak Wireshark. Oto fragment do testowania:
```javascript
fetch('//sub1.hackxor.net/', {mode: 'no-cors', credentials: 'include'}).then(()=>{ fetch('//sub2.hackxor.net/', {mode: 'no-cors', credentials: 'include'}) })
```
Zagrożenie jest obecnie ograniczone z powodu rzadkości routingu pierwszego żądania i złożoności HTTP/2. Jednak proponowane zmiany w HTTP/3, które łagodzą wymagania dotyczące dopasowania adresu IP, mogą poszerzyć powierzchnię ataku, czyniąc serwery z certyfikatem dzikiej karty bardziej podatnymi bez potrzeby ataku MITM.
Najlepsze praktyki obejmują unikanie routingu pierwszego żądania w odwrotnych proxy oraz ostrożność z certyfikatami TLS dzikiej karty, szczególnie w obliczu nadejścia HTTP/3. Regularne testowanie i świadomość tych złożonych, powiązanych luk są kluczowe dla utrzymania bezpieczeństwa w sieci.
{% 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 %}