mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
30 lines
4.2 KiB
Markdown
30 lines
4.2 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 %}
|
||
|
||
**Це резюме посту: [https://portswigger.net/research/http-3-connection-contamination](https://portswigger.net/research/http-3-connection-contamination)**. Перевірте його для отримання додаткових деталей!
|
||
|
||
Веб-браузери можуть повторно використовувати одне з'єднання HTTP/2+ для різних веб-сайтів через [HTTP connection coalescing](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing), за умови спільних IP-адрес і загального TLS сертифіката. Однак це може конфліктувати з **маршрутизацією першого запиту** в зворотних проксі, де наступні запити направляються на бекенд, визначений першим запитом. Це неправильне маршрутизування може призвести до вразливостей безпеки, особливо в поєднанні з сертифікатами wildcard TLS і доменами, такими як `*.example.com`.
|
||
|
||
Наприклад, якщо `wordpress.example.com` і `secure.example.com` обслуговуються одним і тим же зворотним проксі і мають спільний сертифікат wildcard, коалесціювання з'єднання браузера може призвести до того, що запити до `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-адреси, можуть розширити поверхню атаки, роблячи сервери з сертифікатом wildcard більш вразливими без необхідності атаки MITM.
|
||
|
||
Найкращі практики включають уникнення маршрутизації першого запиту в зворотних проксі та обережність з сертифікатами TLS wildcard, особливо з появою HTTP/3. Регулярне тестування та усвідомлення цих складних, взаємопов'язаних вразливостей є критично важливими для підтримки веб-безпеки.
|