mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
60 lines
5.4 KiB
Markdown
60 lines
5.4 KiB
Markdown
# hop-by-hop headers
|
|
|
|
{% 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 %}
|
|
|
|
**Ovo je sažetak posta [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)**
|
|
|
|
Hop-by-hop zaglavlja su specifična za jednu transportnu vezu, koriste se prvenstveno u HTTP/1.1 za upravljanje podacima između dva čvora (kao što su klijent-proxy ili proxy-proxy) i nisu namenjena za prosleđivanje. Standardna hop-by-hop zaglavlja uključuju `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` i `Proxy-Authenticate`, kako je definisano u [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1). Dodatna zaglavlja mogu biti označena kao hop-by-hop putem `Connection` zaglavlja.
|
|
|
|
### Abusing Hop-by-Hop Headers
|
|
Nepravilno upravljanje hop-by-hop zaglavljima od strane proksija može dovesti do bezbednosnih problema. Dok se od proksija očekuje da uklone ova zaglavlja, ne rade svi to, što stvara potencijalne ranjivosti.
|
|
|
|
### Testing for Hop-by-Hop Header Handling
|
|
Upravljanje hop-by-hop zaglavljima može se testirati posmatranjem promena u odgovorima servera kada su određena zaglavlja označena kao hop-by-hop. Alati i skripte mogu automatizovati ovaj proces, identifikujući kako proksiji upravljaju ovim zaglavljima i potencijalno otkrivajući pogrešne konfiguracije ili ponašanja proksija.
|
|
|
|
Zloupotreba hop-by-hop zaglavlja može dovesti do različitih bezbednosnih implikacija. Ispod su dva primera koja pokazuju kako se ova zaglavlja mogu manipulisati za potencijalne napade:
|
|
|
|
### Bypassing Security Controls with `X-Forwarded-For`
|
|
Napadač može manipulisati `X-Forwarded-For` zaglavljem kako bi zaobišao IP-bazirane kontrole pristupa. Ovo zaglavlje se često koristi od strane proksija za praćenje izvorne IP adrese klijenta. Međutim, ako proksi tretira ovo zaglavlje kao hop-by-hop i prosledi ga bez pravilne validacije, napadač može lažirati svoju IP adresu.
|
|
|
|
**Scenarijo napada:**
|
|
1. Napadač šalje HTTP zahtev web aplikaciji iza proksija, uključujući lažnu IP adresu u `X-Forwarded-For` zaglavlju.
|
|
2. Napadač takođe uključuje `Connection: close, X-Forwarded-For` zaglavlje, podstičući proksi da tretira `X-Forwarded-For` kao hop-by-hop.
|
|
3. Pogrešno konfigurisan proksi prosledi zahtev web aplikaciji bez lažiranog `X-Forwarded-For` zaglavlja.
|
|
4. Web aplikacija, ne videći originalno `X-Forwarded-For` zaglavlje, može smatrati zahtev kao da dolazi direktno iz pouzdane proksi, potencijalno omogućavajući neovlašćen pristup.
|
|
|
|
### Cache Poisoning via Hop-by-Hop Header Injection
|
|
Ako server za keširanje pogrešno kešira sadržaj na osnovu hop-by-hop zaglavlja, napadač može injektovati zlonamerna zaglavlja kako bi otrovao keš. Ovo bi poslužilo netačan ili zlonameran sadržaj korisnicima koji traže isti resurs.
|
|
|
|
**Scenarijo napada:**
|
|
1. Napadač šalje zahtev web aplikaciji sa hop-by-hop zaglavljem koje ne bi trebalo da se kešira (npr. `Connection: close, Cookie`).
|
|
2. Loše konfigurisan server za keširanje ne uklanja hop-by-hop zaglavlje i kešira odgovor specifičan za napadačevu sesiju.
|
|
3. Budući korisnici koji traže isti resurs dobijaju keširani odgovor, koji je bio prilagođen za napadača, potencijalno dovodeći do preuzimanja sesije ili izlaganja osetljivih informacija.
|
|
|
|
{% 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 %}
|