A02:2025 — Loša konfiguracija
Loša konfiguracija nije greška u kodu — to je greška u podešavanjima. Aplikacija može biti savršeno napisana, a opet potpuno ranjiva ako je neko zaboravio promeniti podrazumevanu lozinku, ostavio debug mode uključen ili nije ugasio listanje direktorijuma na web serveru.
Ovo je OWASP A02:2025, i zauzima drugo mesto iz jednostavnog razloga: konfiguracija je dosadna. Programeri je rade poslednju, pod pritiskom, i često kopiraju primer iz dokumentacije koji nikad nije bio namenjen produkciji.
U ovoj lekciji ćeš iskoristiti dve klasične greške pogrešne konfiguracije. Svaka krije po jedan fragment zastave.
1. Podrazumevani kredencijali
Kada instalirate novi softver — bazu podataka, admin panel, ruter, CMS — on dolazi sa fabričkim kredencijalima. Nešto kao admin / admin, ili admin / password, ili root / bez lozinke. Ti kredencijali su dokumentovani, javni, i napadači ih znaju napamet.
Problem nije što postoje pofrazumevani kredencijali — problem je što ih niko ne promeni pre nego što sistem ode u produkciju.
Ispod je admin panel upravo instaliranog CMS sistema. Kredencijali nisu promenjeni od instalacije. Pokušaj da se prijaviš.
Podrazumevani kredencijale treba promeniti pre nego što sistem postane dostupan, ne posle. Svaki ozbiljan checklist za deployment ovo ima kao prvi korak.
2. Listanje direktorijuma
Web server treba da servira fajlove koje mu tražiš direktno. Ali ako nema index.html u nekom folderu, i ako je listanje direktorijuma uključeno, server će ti prikazati kompletan sadržaj tog foldera — kao file manager u browseru.
Ovo nije samo neugodnost. Napadač može da vidi backup fajlove, konfig fajlove, logove, sve što je slučajno završilo u web root-u.
Ispod je simulacija web servera sa uključenim listanjem direktorijuma. Istraži strukturu fajlova.
Kako se ovo ispravlja? U Nginxu je listanje direktorijuma isključeno — ali autoindex on; u konfiguraciji ga uključuje. U Apacheu isto — Options -Indexes ga gasi. Pored toga, fajlovi koji ne treba da budu javno dostupni ne smeju ni da budu u web root-u.
Složi zastavu
Završi oba dela da otključaš kompletnu zastavu.
📝 Provera Znanja
Unesite svoj odgovor ispod da biste proverili da li ste razumeli lekciju: