Special HTTP headers
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Prepisivanje IP izvora:
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
Via: 1.0 fred, 1.1 127.0.0.1
Connection: close, X-Forwarded-For
(Proverite hop-by-hop zaglavlja)
Prepisivanje lokacije:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Hop-by-hop zaglavlje je zaglavlje koje je dizajnirano da bude obrađeno i konzumirano od strane proksija koji trenutno obrađuje zahtev, za razliku od zaglavlja end-to-end.
Connection: close, X-Forwarded-For
Content-Length: 30
Transfer-Encoding: chunked
Zaglavlja server keša:
X-Cache
u odgovoru može imati vrednost miss
kada zahtev nije keširan i vrednost hit
kada je keširan
Slično ponašanje u zaglavlju Cf-Cache-Status
Cache-Control
označava da li se resurs kešira i kada će biti sledeći put keširan: Cache-Control: public, max-age=1800
Vary
se često koristi u odgovoru da označi dodatna zaglavlja koja se tretiraju kao deo keš ključa čak i ako su obično neključevi.
Age
definiše vreme u sekundama koliko je objekat bio u proksi kešu.
Server-Timing: cdn-cache; desc=HIT
takođe označava da je resurs keširan
Lokalna keš zaglavlja:
Clear-Site-Data
: Zaglavlje koje označava keš koji treba ukloniti: Clear-Site-Data: "cache", "cookies"
Expires
: Sadrži datum/vreme kada odgovor treba da istekne: Expires: Wed, 21 Oct 2015 07:28:00 GMT
Pragma: no-cache
isto kao Cache-Control: no-cache
Warning
: Warning
opšte HTTP zaglavlje sadrži informacije o mogućim problemima sa statusom poruke. Može se pojaviti više od jednog Warning
zaglavlja u odgovoru. Warning: 110 anderson/1.3.37 "Response is stale"
Zahtevi koji koriste ova zaglavlja: If-Modified-Since
i If-Unmodified-Since
će dobiti odgovor sa podacima samo ako zaglavlje odgovora**Last-Modified
** sadrži drugačije vreme.
Uslovni zahtevi koristeći If-Match
i If-None-Match
koriste Etag vrednost tako da web server pošalje sadržaj odgovora ako su podaci (Etag) promenjeni. Etag
se uzima iz HTTP odgovora.
Vrednost Etag se obično izračunava na osnovu sadržaja odgovora. Na primer, ETag: W/"37-eL2g8DEyqntYlaLp5XLInBWsjWI"
označava da je Etag
Sha1 od 37 bajtova.
Accept-Ranges
: Označava da li server podržava zahteve opsega, i ako da, u kojoj jedinici se opseg može izraziti. Accept-Ranges: <range-unit>
Range
: Označava deo dokumenta koji server treba da vrati.
If-Range
: Stvara uslovni zahtev opsega koji se ispunjava samo ako dati etag ili datum odgovara udaljenom resursu. Koristi se da se spreči preuzimanje dva opsega iz nekompatibilnih verzija resursa.
Content-Range
: Označava gde u punom telu poruke pripada delimična poruka.
Content-Length
: Veličina resursa, u decimalnom broju bajtova.
Content-Type
: Označava medijski tip resursa
Content-Encoding
: Koristi se za specifikaciju algoritma kompresije.
Content-Language
: Opisuje ljudski jezik(e) namenjene publici, tako da omogućava korisniku da razlikuje prema vlastitom preferiranom jeziku.
Content-Location
: Označava alternativnu lokaciju za vraćene podatke.
Iz perspektive pentesta, ove informacije su obično "beskorisne", ali ako je resurs zaštićen 401 ili 403 i možete pronaći neki način da dobijete ove informacije, to bi moglo biti zanimljivo.
Na primer, kombinacija Range
i Etag
u HEAD zahtevu može otkriti sadržaj stranice putem HEAD zahteva:
Zahtev sa zaglavljem Range: bytes=20-20
i sa odgovorom koji sadrži ETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y"
otkriva da je SHA1 bajta 20 ETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y
Server: Apache/2.4.1 (Unix)
X-Powered-By: PHP/5.3.3
Allow
: Ovo zaglavlje se koristi za komunikaciju HTTP metoda koje resurs može obraditi. Na primer, može biti specificirano kao Allow: GET, POST, HEAD
, što označava da resurs podržava ove metode.
Expect
: Koristi se od strane klijenta da prenese očekivanja koja server treba da ispuni kako bi zahtev bio uspešno obrađen. Uobičajena upotreba uključuje zaglavlje Expect: 100-continue
, koje signalizira da klijent namerava da pošalje veliki paket podataka. Klijent traži 100 (Continue)
odgovor pre nego što nastavi sa prenosom. Ovaj mehanizam pomaže u optimizaciji korišćenja mreže čekajući potvrdu servera.
Content-Disposition
zaglavlje u HTTP odgovorima usmerava da li bi datoteka trebala biti prikazana inline (unutar veb stranice) ili tretirana kao prilog (preuzeta). Na primer:
Ovo znači da je datoteka pod nazivom "filename.jpg" namenjena preuzimanju i čuvanju.
Sprovodeći Poverljive Tipove putem CSP-a, aplikacije se mogu zaštititi od DOM XSS napada. Poverljivi Tipovi osiguravaju da se samo posebno izrađeni objekti, u skladu sa uspostavljenim bezbednosnim politikama, mogu koristiti u opasnim pozivima web API-ja, čime se podrazumevano osigurava JavaScript kod.
Ova zaglavlja sprečavaju MIME tip sniffing, praksu koja može dovesti do XSS ranjivosti. Osigurava da pregledači poštuju MIME tipove koje je odredio server.
Da bi se borili protiv clickjackinga, ovaj header ograničava kako se dokumenti mogu ugraditi u <frame>
, <iframe>
, <embed>
, ili <object>
tagove, preporučujući svim dokumentima da eksplicitno navedu svoja dopuštenja za ugradnju.
CORP je ključan za određivanje koje resurse mogu učitati veb sajtovi, smanjujući cross-site leak-ove. CORS, s druge strane, omogućava fleksibilniji mehanizam deljenja resursa između različitih izvora, opuštajući politiku istog izvora pod određenim uslovima.
COEP i COOP su ključni za omogućavanje izolacije između različitih izvora, značajno smanjujući rizik od napada sličnih Spectre-u. Oni kontrolišu učitavanje resursa iz drugih izvora i interakciju sa prozorima iz drugih izvora, redom.
Na kraju, HSTS je bezbednosna funkcija koja prisiljava pretraživače da komuniciraju sa serverima samo preko sigurnih HTTPS veza, čime se poboljšava privatnost i bezbednost.
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)