Kada pretraživač uputi zahtjev lokalnom serveru, on prilaže dodatna zaglavlja, kao što su zaglavlja hosta i porijekla, kako bi pružio dodatne informacije serveru. Ova zaglavlja igraju ključnu ulogu u osiguravanju sigurnosti i pravilnog funkcionisanja web aplikacija. U ovom odgovoru ćemo istražiti kako pretraživač prilaže ova zaglavlja i razmotriti njihov značaj u kontekstu sigurnosti lokalnog HTTP servera.
Zaglavlje hosta je bitna komponenta HTTP zahtjeva i koristi se za specificiranje ciljnog hosta kojem se zahtjev šalje. Prilikom postavljanja zahtjeva lokalnom serveru, pretraživač uključuje zaglavlje hosta za označavanje imena hosta ili IP adrese servera s kojim želi komunicirati. Ovo omogućava serveru da identificira namjeravanu destinaciju zahtjeva. Na primjer, ako pretraživač želi pristupiti web stranici hostovanoj na lokalnom serveru sa IP adresom 192.168.0.1, uključio bi zaglavlje hosta kako slijedi: "Host: 192.168.0.1". Server zatim koristi ove informacije da usmjeri zahtjev na odgovarajući resurs.
Izvorno zaglavlje, s druge strane, je sigurnosni mehanizam koji implementiraju moderni pretraživači za zaštitu od napada s više izvora. On specificira porijeklo iz kojeg se šalje zahtjev, uključujući protokol, ime hosta i broj porta. Pretraživač automatski uključuje izvorno zaglavlje u zahtjeve prema lokalnim serverima kako bi osigurao da server može provjeriti izvor zahtjeva. Na primjer, ako web stranica hostirana na "http://localhost:8080" uputi zahtjev lokalnom serveru na "http://localhost:3000", pretraživač bi uključio izvorno zaglavlje kako slijedi: "Porijeklo: http ://localhost:8080". Ovo omogućava serveru da potvrdi da zahtjev potiče iz očekivanog izvora i pomaže u sprječavanju neovlaštenog pristupa osjetljivim resursima.
Pored glavnog i izvornog zaglavlja, postoje i druga zaglavlja koja pretraživači mogu priložiti kada upućuju zahtjeve lokalnim serverima. Na primjer, zaglavlje korisničkog agenta pruža informacije o klijentskoj aplikaciji (tj. pretraživaču) koja postavlja zahtjev. Ovo zaglavlje pomaže serveru da razumije mogućnosti i ograničenja klijenta, omogućavajući mu da pruži odgovarajuće odgovore.
Važno je napomenuti da iako pretraživači prilažu ova zaglavlja prema zadanim postavkama, ona se također mogu mijenjati ili ukloniti na različite načine. Ovo se može uraditi preko ekstenzija pretraživača, proxy servera ili direktnim manipulisanjem zahtevom korišćenjem tehnika programiranja. Stoga je ključno za administratore servera da implementiraju odgovarajuće sigurnosne mjere za validaciju i saniranje dolaznih zahtjeva, bez obzira na prisustvo ovih zaglavlja.
Kada pretraživač uputi zahtjev lokalnom serveru, on prilaže dodatna zaglavlja kao što su host i izvorna zaglavlja. Zaglavlje hosta specificira ciljni host zahtjeva, dok izvorno zaglavlje pomaže u zaštiti od napada s više izvora. Ova zaglavlja igraju vitalnu ulogu u osiguravanju sigurnosti i pravilnog funkcionisanja web aplikacija. Administratori servera bi trebali biti svjesni ovih zaglavlja i implementirati odgovarajuće sigurnosne mjere za provjeru valjanosti i saniranje dolaznih zahtjeva.
Ostala nedavna pitanja i odgovori u vezi Osnove sigurnosti web aplikacija EITC/IS/WASF:
- Šta su zaglavlja zahtjeva za dohvaćanje metapodataka i kako se mogu koristiti za razlikovanje između zahtjeva istog porijekla i zahtjeva na više lokacija?
- Kako pouzdani tipovi smanjuju površinu napada web aplikacija i pojednostavljuju sigurnosne preglede?
- Koja je svrha zadane politike u pouzdanim tipovima i kako se može koristiti za identifikaciju nesigurnih dodjela nizova?
- Koji je proces za kreiranje objekta pouzdanih tipova pomoću API-ja pouzdanih tipova?
- Kako direktiva pouzdanih tipova u politici sigurnosti sadržaja pomaže u ublažavanju ranjivosti DOM-baziranog skriptiranja na više lokacija (XSS)?
- Šta su pouzdani tipovi i kako se bave XSS ranjivostima zasnovanim na DOM-u u web aplikacijama?
- Kako politika sigurnosti sadržaja (CSP) može pomoći u ublažavanju ranjivosti skriptiranja na više lokacija (XSS)?
- Šta je krivotvorenje zahtjeva na više lokacija (CSRF) i kako ga napadači mogu iskoristiti?
- Kako XSS ranjivost u web aplikaciji kompromituje korisničke podatke?
- Koje su dvije glavne klase ranjivosti koje se obično nalaze u web aplikacijama?
Pogledajte više pitanja i odgovora u EITC/IS/WASF Osnovama sigurnosti web aplikacija