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

35 lines
1.7 KiB
Markdown

# HTTP Connection Request Smuggling
{{#include ../banners/hacktricks-training.md}}
**Ovo je sažetak posta** [**https://portswigger.net/research/browser-powered-desync-attacks**](https://portswigger.net/research/browser-powered-desync-attacks)
## Napadi na stanje veze <a href="#state" id="state"></a>
### Validacija prvog zahteva
Kada usmeravaju zahteve, reverzni proksi mogu zavisiti od **Host header** da odrede odredišni back-end server, često se oslanjajući na belu listu hostova kojima je dozvoljen pristup. Međutim, postoji ranjivost u nekim proksijima gde se bela lista primenjuje samo na inicijalni zahtev u vezi. Kao rezultat toga, napadači bi mogli iskoristiti ovo tako što bi prvo poslali zahtev ka dozvoljenom hostu, a zatim zatražili interni sajt kroz istu vezu:
```
GET / HTTP/1.1
Host: [allowed-external-host]
GET / HTTP/1.1
Host: [internal-host]
```
### Prvo-zahtjev Ruting
U nekim konfiguracijama, front-end server može koristiti **Host zaglavlje prvog zahtjeva** da odredi pozadinsko rutiranje za taj zahtjev, a zatim trajno usmjeravati sve naredne zahtjeve iz iste klijentske veze na istu pozadinsku vezu. Ovo se može demonstrirati kao:
```
GET / HTTP/1.1
Host: example.com
POST /pwreset HTTP/1.1
Host: psres.net
```
Ovaj problem se potencijalno može kombinovati sa [Host header attacks](https://portswigger.net/web-security/host-header), kao što su trovanje resetovanjem lozinke ili [web cache poisoning](https://portswigger.net/web-security/web-cache-poisoning), kako bi se iskoristile druge ranjivosti ili dobio neovlašćen pristup dodatnim virtuelnim hostovima.
> [!NOTE]
> Da bi se identifikovale ove ranjivosti, može se koristiti funkcija 'connection-state probe' u HTTP Request Smuggler.
{{#include ../banners/hacktricks-training.md}}