hacktricks/pentesting-web/abusing-hop-by-hop-headers.md

5.4 KiB

hop-by-hop headers

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Ovo je sažetak posta 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. 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:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}