Path Traversal
Cilj Path Traversal napada je pristup fajlovima i direktorijima koji se nalaze van web root direktorija. Posmatrajući aplikaciju mogu se naći linkovi za resurse koje ona koristi, manipulacijom ovih linkova moguće je dobiti pristup drugim resursima koji bi trebali biti nedostupni korisniku. Manipulacija linkova se obavlja korištenjem sekvence “../” i njenih varjacija i u nekim slučajevima će omogućiti kretanje kroz hijerarhiju direktorija web servera. Ukoliko je ovakav pristup omogućen, napadač može doći do fajlova sa izvornim kodom, kao i konfiguracionim i sistemskim fajlovima. Segmenti aplikacija koji koriste parametre za fajlove sa sistema često to čine na sledeći način :
http://primjeraplikacije.com/get-file.jsp?file=dokument.pdf
Ukoliko se ne vrši korektna provjera ulaza prilikom dobavljanja ovoga fajla, napadač to može da iskoristi :
http://www.altoromutual.com/default.aspx?content=../users.txt
i ugrozi sigurnost podataka korisnika sistema i na primjeru demo aplikacije, dođe do liste korisnika sistema.
Ukoliko aplikacija prilikom regularnog ili neregularnog rada korisniku daje informacije u strukturi fajl sistema, posao napadača postaje lakši, pa je preporučivo da se izbjegavaju takva obavještenja.
Zaštita od ovakvih napada postiže se na nekoliko načina :
- Izbjegavati korištenje sistemskih poziva prilikom rada sa korisničkim ulazom.
- Validacija korisničkog ulaza i odbacivanje nekorektnog.
- Ne dozvoliti korisniku da unosi čitavu putanju, već samo dio nje, a ostatak definisati u aplikaciji.
- Ne koristiti putanje već indekse i slične podatke koji zamjenjuju konkretnu putanju do nekog resursa.
Izvor:www.owasp.org