Web bezbednost srednje

A01:2025 — Pogrešna kontrola pristupa

🎯 Šta je pogrešna kontrola pristupa?

Kontrola pristupa određuje šta korisnik sme, a šta ne sme da radi u aplikaciji.

Dok autentikacija odgovara na pitanje ko si ti, autorizacija odlučuje šta smeš da radiš.

Pogrešna kontrola pristupa nastaje kada aplikacija pogrešno ili uopšte ne proverava prava pristupa.
To omogućava napadaču ili običnom korisniku da uradi stvari koje mu ne bi trebalo biti dozvoljeno.


🔍 Realni primeri

  • Običan korisnik može da pristupi /admin stranici ili API-ju.
  • Promenom user_id=5 u user_id=6 korisnik vidi tuđe podatke (IDOR – nebezbedna direktna referenca objekata).
  • Sakrivanje dugmeta u interfejsu, dok backend ne proverava prava.
  • Kroz API korisnik dobija privilegije koje mu ne pripadaju.

Napomena: frontend nikada ne sme biti jedina zaštita. Sve kontrole moraju biti na server strani.


🧠 Kako napadač razmišlja

  • “Šta će se desiti ako promenim ID u URL-u?”
  • “Šta ako direktno pozovem admin funkciju?”
  • “Šta ako uklonim ili promenim kolačić/oznaku sesije?”

Razumevanje ovog razmišljanja je ključno za prepoznavanje propusta.


🛠 Kako se zaštititi

  1. Provera pristupa na serveru
  2. Nikada se ne oslanjaj samo na interfejs ili skripte na klijentu.

  3. Pristup po principu “deny-by-default”

  4. Sve što nije izričito dozvoljeno, blokirati.

  5. Princip najmanjih privilegija

  6. Korisnici i servisi imaju samo prava koja su im stvarno potrebna.

  7. Evidentiranje pokušaja neautorizovanog pristupa

  8. Svaka sumnjiva aktivnost mora se beležiti.

  9. Redovni testovi i revizija sistema

  10. Ručni i automatski testovi mogu otkriti propuste pre nego što ih napadači iskoriste.

✔️ Završetak Lekcije

Ova lekcija nema proveru znanja. Kliknite na dugme ispod da je označite kao završenu.