hacktricks/pentesting-web/http-connection-request-smuggling.md

59 lines
4.5 KiB
Markdown
Raw Normal View History

2022-08-21 14:40:42 +00:00
# HTTP Connection Request Smuggling
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
* Pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć swoją **firmę reklamowaną w HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCYJNY**](https://github.com/sponsors/carlospolop)!
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium [hacktricks](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-08-21 14:40:42 +00:00
</details>
2024-02-11 01:46:25 +00:00
**To jest streszczenie postu [https://portswigger.net/research/browser-powered-desync-attacks](https://portswigger.net/research/browser-powered-desync-attacks)**
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
## Ataki na stan połączenia <a href="#state" id="state"></a>
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
### Walidacja pierwszego żądania
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
Podczas przekierowywania żądań, odwrotne serwery proxy mogą polegać na nagłówku **Host**, aby określić docelowy serwer backendowy, często polegając na białej liście hostów, które mają uprawniony dostęp. Jednak istnieje podatność w niektórych serwerach proxy, gdzie biała lista jest stosowana tylko dla początkowego żądania w połączeniu. W rezultacie atakujący mogą wykorzystać to, najpierw wysyłając żądanie do dozwolonego hosta, a następnie żądając dostępu do wewnętrznej strony przez to samo połączenie:
2024-02-06 03:10:38 +00:00
```text
2022-08-21 14:40:42 +00:00
GET / HTTP/1.1
2024-02-06 03:10:38 +00:00
Host: [allowed-external-host]
2022-08-21 14:40:42 +00:00
GET / HTTP/1.1
2024-02-06 03:10:38 +00:00
Host: [internal-host]
2022-08-21 14:40:42 +00:00
```
2024-02-11 01:46:25 +00:00
Ta podatność na szczęście nie jest powszechna.
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
### Pierwsze żądanie routingu
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
W niektórych konfiguracjach serwer front-endowy może używać **nagłówka Host pierwszego żądania** do określenia routingu do serwera back-endowego dla tego żądania, a następnie trwale kierować wszystkie kolejne żądania z tego samego połączenia klienta do tego samego połączenia back-endowego. Można to zademonstrować jako:
2024-02-06 03:10:38 +00:00
```text
2022-08-21 14:40:42 +00:00
GET / HTTP/1.1
Host: example.com
POST /pwreset HTTP/1.1
Host: psres.net
```
2024-02-11 01:46:25 +00:00
Ten problem może potencjalnie zostać połączony z [atakami na nagłówek Host](https://portswigger.net/web-security/host-header), takimi jak zatrucie resetem hasła lub [zatrucie pamięci podręcznej sieci Web](https://portswigger.net/web-security/web-cache-poisoning), aby wykorzystać inne podatności lub uzyskać nieautoryzowany dostęp do dodatkowych wirtualnych hostów.
2022-08-21 14:40:42 +00:00
{% hint style="info" %}
2024-02-11 01:46:25 +00:00
Aby zidentyfikować te podatności, można wykorzystać funkcję "sonda stanu połączenia" w narzędziu HTTP Request Smuggler.
2022-08-21 14:40:42 +00:00
{% endhint %}
2022-11-04 15:54:08 +00:00
<details>
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-08-21 14:40:42 +00:00
2024-02-11 01:46:25 +00:00
* Czy pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć, jak Twoja **firma jest reklamowana w HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCYJNY**](https://github.com/sponsors/carlospolop)!
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium [hacktricks](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-08-21 14:40:42 +00:00
</details>