166 pojmova · 75/46/45
Pretnja № 047 · klasa: aplikacije

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 · napomene

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.

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 2

Odbrane

suzbija se sa 3