Zaobilaženje putanjePath Traversal
Zaobilaženje putanje je napad u kojem napadač pokušava da izađe iz dozvoljenog direktorijuma i pristupi fajlovima koje aplikacija ne bi smela da prikaže. Najpoznatiji obrazac su sekvence poput `../`, kojima se putanja vraća nivo po nivo kroz fajl sistem.
Pojam
opis · primeri · napomeneZaobilaženje putanje je napad u kojem napadač pokušava da izađe iz dozvoljenog direktorijuma i pristupi fajlovima koje aplikacija ne bi smela da prikaže. Najpoznatiji obrazac su sekvence poput `../`, kojima se putanja vraća nivo po nivo kroz fajl sistem.
Opis
Ova ranjivost se često javlja u funkcijama za preuzimanje fajlova, prikaz dokumenata, učitavanje šablona ili čitanje slika. Ako aplikacija korisnički unos direktno pretvara u putanju do fajla, napadač može da pokuša sa iščitavanjem konfiguracija, lozinki, izvornog koda i sistemskih fajlova.
Zaobilaženje putanje deluje jednostavno, ali posledice mogu biti ozbiljne. Jedan pročitani konfiguracioni fajl može da otkrije kredencijale za baze, API ključeve i interne putanje, a odatle napad više nije samo iščitavanje, već proboj aplikacije.
Primeri
- Parametar za preuzimanje fajla prihvata `../../../../etc/passwd` i vraća sadržaj sistemskog fajla.
- Aplikacija za pregled dokumenata dozvoljava čitanje konfiguracionog fajla van ovlašćenog direktorijuma.
- Ranjiv VPN ili mrežni uređaj omogućava čitanje fajlova sa sesijama ili kredencijalima kroz manipulacije putanjama.
Napomene
- Problem nije samo u znakovima `../`. Putanje se mogu kodirati, normalizovati i zaobići na više načina ako aplikacija nema jasno ograničena ovlašćenja.
- Najbolja zaštita je da korisnik nikada ne bira stvarnu putanju. Aplikacija treba da mapira dozvoljene fajlove kroz interne identifikatore.
Spomenuto u vestima
Tehnike
izvodi se sa 2Tehnike kojima se izvodi. Klik vodi na stranicu pojma.
Odbrane
suzbija se sa 3Kako se brani. Klik vodi na stranicu pojma.