Ne želite da nepoželjni posjetitelj prolazi kroz datotečni sustav vašeg poslužitelja, ali napadači su pronašli način da to izvedu. Što možeš učiniti?
Kada korisnici posjete vašu web stranicu, vjeruju da su njihovi podaci sigurni i da oni i drugi korisnici ne mogu pristupiti datotekama ili mapama koje nemaju ovlaštenje vidjeti. Međutim, ako je vaša web stranica ranjiva na prolazak kroz direktorij, napadači mogu iskoristiti ovu slabost za prelazak iz jednog direktorija u drugi i pregled osjetljivih datoteka koje bi trebale biti ograničene.
Ovi napadi iskorištavaju ranjivost u datotečnom sustavu vaše web stranice i mogu izložiti kritične informacije, što dovodi do ozbiljnih sigurnosnih rizika. U ovom ćemo članku istražiti što su napadi prelaženja direktorija, zašto su tako opasni i kako možete zaštititi svoje web mjesto od njih.
Što je Directory Traversal?
Prolazak po direktoriju također je poznat kao obilazak putanje ili penjanje po direktoriju. To je ranjivost na web stranicama gdje napadač može pristupiti ili čitati datoteke izvan korijenskog direktorija web poslužitelja koji pokreće aplikaciju manipulirajući unosom web aplikacije.
Kada se izvrši napad obilaskom direktorija, napadači mogu čitati, a ponekad čak i mijenjati ograničene datoteke i direktorije na poslužitelju web aplikacija. Možda će moći pristupiti povjerljivim datotekama na poslužitelju kao što su konfiguracijske datoteke baze podataka, datoteke izvornog koda, datoteke lozinki i datoteke dnevnika.
Direktorij Traversal i CIA Triad
Prolazak imenika ugrožava sva tri aspekta što je poznato kao CIA trijada. CIA trijada, koja je široko priznat model za informacijsku sigurnost, označava povjerljivost, integritet i dostupnost.
Povjerljivost
Napadi prolaska kroz direktorij krše povjerljivost jer ograničene i osjetljive datoteke koje sadrže informacije o sustavu i drugim korisnicima postaju dostupne napadaču. Svi podaci koji ne pripadaju korisniku trebaju biti tajni i ne smiju biti dostupni neovlaštenim osobama. Na primjer, napadač koji dobije pristup bazi podataka korisnika i njihovim osobnim podacima (PII), krši povjerljivost sustava i podataka korisnika.
Integritet
Važno je napomenuti da obilazak direktorija možda neće samo prestati s time da kibernetički napadači mogu čitati i pristupati datotekama na vašem web poslužitelju. Ako dopuštenja datotečnog sustava na vašem poslužitelju nisu pravilno konfigurirana, haker će ih možda moći izmijeniti ili izbrisati važne datoteke ili direktorije na poslužitelju, ugrožavajući integritet podataka na tome poslužitelj. Na primjer, napadač može modificirati konfiguracijsku datoteku kako bi si dodijelio administrativni pristup poslužitelju ili izbrisati sistemske datoteke.
Dostupnost
Postoji mnogo načina na koje napadač može upotrijebiti napad obilaženja direktorija kako bi ugrozio dostupnost vašeg poslužitelja. Jedan primjer je brisanje kritičnih datoteka na poslužitelju koje ometaju rad poslužitelja ili uzrokuju da web aplikacija ne reagira. Drugi primjer je napadač koji povećava privilegije i preopterećuje poslužitelj zahtjevima što uzrokuje njegov pad.
Kako funkcionira napad obilaska imenika?
Napad prelaskom direktorija može se dogoditi na različite načine. Kada napadači posumnjaju da je web-mjesto ranjivo na napade obilaženja direktorija, počinju stvarati zlonamjerne zahtjeve za slanje toj web-aplikaciji.
Neke web stranice prikazuju datoteke putem URL parametra. Uzmimo, na primjer, URL ove web stranice: https://www.website.com/download_file.php? naziv datoteke=datoteka.pdf. To znači da web aplikacija poziva datoteku "file.pdf" s poslužitelja pomoću relativnog URL puta. U ovom slučaju aplikacija čita sa staze: www/var/documents/file.pdf.
Jednostavan primjer napada obilaženja direktorija je napad prolaska kroz direktorij dotdotslash. U UNIX i Windows sustavima, ../ simboli se koriste za povratak jedan direktorij unatrag. Napadač može zamijeniti naziv dokumenta s ../../../../../etc/passwd. URL tada izgleda ovako: https://www.website.com/download_file.php? naziv datoteke=../../../../../etc/passwd
Napadač bi mogao koristiti ovaj korisni teret u web aplikaciji za prelazak više direktorija unatrag kako bi pokušao dohvatiti datoteku "/etc/passwd" iz datotečnog sustava poslužitelja.
U sustavima baziranim na Unixu, datoteka "/etc/passwd" je obična tekstualna datoteka koja sadrži informacije o lokalne korisničke račune na sustavu, kao što su korisnička imena, korisnički ID-ovi, kućni direktoriji i ljuska preferencije. Pristup ovoj datoteci može biti koristan za napadače jer može pružiti informacije o potencijalnim korisničkim računima i ranjivostima u sustavu.
Ostali oblici napada na prolazak kroz direktorij uključuju URL kodiranje, dvostruko kodiranje i napade nultim bajtom.
Zašto su napadi prolaskom direktorija tako opasni?
Napadi prelaženja imenika smatraju se vrlo opasnima jer gotovo nikada nisu samostalni napadi. Ranjivost prolaska kroz direktorij kada se iskoristi može dovesti do višestrukih drugih ranjivosti. Neke od tih ranjivosti uključuju:
Otkrivanje informacija
Do otkrivanja informacija dolazi kada napadač dobije pristup osjetljivim informacijama koje nije ovlašten vidjeti. Napadi prolaskom direktorija mogu dovesti do ranjivosti otkrivanja informacija jer dopuštaju napadačima pristup datotekama i direktorijima izvan predviđenog opsega web aplikacije. Korištenjem tereta prolaska kroz direktorij i zlonamjernih zahtjeva, napadači se mogu popeti u hijerarhiji direktorija kako bi potencijalno pristupili osjetljivim datotekama i direktorijima na poslužitelju. Ova se ranjivost može iskoristiti za izdvajanje osjetljivih informacija poput lozinki ili korisničkih podataka.
Uključivanje lokalne datoteke
Prolaženje imenika također može dovesti do napada lokalnog uključivanja datoteka (LFI).. LFI je ranjivost u web aplikacijama koja omogućuje napadaču da uključi i izvrši datoteke koje su pohranjene na istom poslužitelju kao i web aplikacija u LFI napada, napadač može upotrijebiti ulazne parametre web-aplikacije za određivanje putanje lokalne datoteke, koju zatim uključuje web-aplikacija bez odgovarajućeg validacija. To napadaču omogućuje izvršavanje proizvoljnog koda, pregled osjetljivih informacija ili manipuliranje ponašanjem aplikacije.
Kako možete spriječiti napad obilaska imenika?
Za početak, provjerite valjanost korisničkog unosa prije obrade kako biste bili sigurni da sadrži samo očekivane znakove i da ne sadrži nikakve posebne znakove ili razdjelnike putanje. Druga je preporuka korištenje filtara i dopuštenih vrijednosti s popisa dopuštenih za usporedbu korisničkog unosa i blokiranje sumnjivih vrijednosti. Ali sve te metode mogao bi zaobići iskusni haker.
Najbolji pristup sprječavanju napada prolaskom direktorija je izbjegavanje dopuštanja korisnicima da unose podatke u datotečni sustav.
Zauzmite proaktivan pristup svojoj sigurnosti
Mnogo je ranjivosti u cyber ekosustavu. Kako biste svoju imovinu zaštitili od ranjivosti, trebali biste provoditi redovite sigurnosne procjene i penetracijsko testiranje za prepoznavanje potencijalnih slabosti i njihovo rješavanje prije nego što ih se može iskoristiti napadači.
Osim toga, budite u tijeku s najnovijim sigurnosnim zakrpama i ažuriranjima za svoj softver i sustave, budući da se mnoge ranjivosti mogu zakrpati ovim ažuriranjima. Zauzimanjem proaktivnog pristupa kibernetičkoj sigurnosti možete pomoći u osiguravanju zaštite imovine vaše organizacije od ranjivosti i zaštite od kibernetičkih prijetnji.