OWASP Top 10: najczęstsze podatności aplikacji web
Przewodnik po OWASP Top 10 dla zespołów, które chcą rozumieć realne ryzyka — od błędnej kontroli dostępu, przez injection, po SSRF.
OWASP Top 10 to najbardziej rozpoznawalne zestawienie ryzyk w aplikacjach webowych — świadoma lista tego, co najczęściej idzie nie tak. Nie jest to checklist do „odhaczenia”, lecz mapa obszarów, które w testach penetracyjnych zwracają najwięcej trafień. Oto najważniejsze z nich, bez żargonu.
Błędna kontrola dostępu — numer jeden
Na czele aktualnej listy stoi Broken Access Control. To nie przypadek — najczęstszym realnym problemem nie jest egzotyczny exploit, lecz brak sprawdzenia, czy dany użytkownik ma prawo zrobić to, o co prosi. Dostęp do cudzych danych przez zmianę identyfikatora, wywołanie funkcji administracyjnej „z ręki”, ominięcie ograniczeń po stronie klienta — to codzienność testów.
Zasada obrony: autoryzuj po stronie serwera, dla każdej operacji, domyślnie odmawiaj.
Injection i błędy kryptografii
- Injection (SQL, komendy, LDAP…) — dane od użytkownika trafiają do interpretera jako część polecenia. Obrona to zapytania parametryzowane i traktowanie każdego wejścia jako niezaufanego.
- Cryptographic Failures — dane wrażliwe bez szyfrowania, słabe algorytmy, hasła bez odpowiedniego haszowania. Szyfruj w tranzycie i w spoczynku, używaj sprawdzonych bibliotek.
XSS, SSRF i błędna konfiguracja
- Cross-Site Scripting (XSS) — wstrzyknięty skrypt wykonuje się w przeglądarce ofiary. Broni kodowanie wyjścia w kontekście i polityka CSP.
- SSRF — aplikacja pobiera adres URL podany przez użytkownika i odpytuje zasoby wewnętrzne (np. metadane chmury). Ogranicz, dokąd serwer może się łączyć.
- Security Misconfiguration — domyślne hasła, zbędne usługi, gadatliwe błędy. To ta sama dyscyplina, o której piszemy przy bezpieczeństwie chmury.
Jak to wykorzystać w praktyce
OWASP Top 10 najlepiej działa nie jako lista kontrolna, lecz jako wspólny język między deweloperami a bezpieczeństwem i jako punkt wyjścia do modelowania zagrożeń. Wpleciony w cykl wytwarzania (przegląd kodu, testy, bramki w CI/CD) obniża koszt naprawy — bo najtaniej usuwa się podatność, zanim trafi na produkcję. Jeśli chcesz sprawdzić swoją aplikację pod kątem tych ryzyk, umów test penetracyjny.
Źródła i dalsza lektura: OWASP Top 10.