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

31 lines
4.2 KiB
Markdown
Raw Normal View History

# HTTP Connection Contamination
2022-11-07 10:43:41 +00:00
{% 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)
2022-11-07 10:43:41 +00:00
<details>
2022-11-07 10:43:41 +00:00
<summary>Support HackTricks</summary>
2024-02-03 12:22:53 +00:00
* 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.
2022-11-07 10:43:41 +00:00
</details>
{% endhint %}
2022-11-07 10:43:41 +00:00
**Це резюме посту: [https://portswigger.net/research/http-3-connection-contamination](https://portswigger.net/research/http-3-connection-contamination)**. Перевірте його для отримання додаткових деталей!
2022-11-07 10:43:41 +00:00
Веб-браузери можуть повторно використовувати одне з'єднання HTTP/2+ для різних веб-сайтів через [HTTP connection coalescing](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing), за умови спільних IP-адрес і загального TLS сертифіката. Однак це може конфліктувати з **маршрутизацією першого запиту** в зворотних проксі, де наступні запити направляються на бекенд, визначений першим запитом. Це неправильне маршрутизування може призвести до вразливостей безпеки, особливо в поєднанні з сертифікатами wildcard TLS і доменами, такими як `*.example.com`.
2022-11-07 10:43:41 +00:00
Наприклад, якщо `wordpress.example.com` і `secure.example.com` обслуговуються одним і тим же зворотним проксі і мають спільний сертифікат wildcard, коалесціювання з'єднання браузера може призвести до того, що запити до `secure.example.com` будуть неправильно оброблені бекендом WordPress, експлуатуючи вразливості, такі як XSS.
2022-11-07 10:43:41 +00:00
Щоб спостерігати за коалесціюванням з'єднання, можна використовувати вкладку Мережа Chrome або інструменти, такі як Wireshark. Ось фрагмент для тестування:
2022-11-07 10:43:41 +00:00
```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-адреси, можуть розширити поверхню атаки, роблячи сервери з сертифікатом wildcard більш вразливими без необхідності атаки MITM.
2022-11-07 10:43:41 +00:00
Найкращі практики включають уникнення маршрутизації першого запиту в зворотних проксі та обережність з сертифікатами TLS wildcard, особливо з появою HTTP/3. Регулярне тестування та усвідомлення цих складних, взаємопов'язаних вразливостей є критично важливими для підтримки веб-безпеки.