OWASP Top 10 — najczęstsze podatności aplikacji webowych

Aktualna lista największych zagrożeń bezpieczeństwa według OWASP. Co się zmieniło, na co uważać w aplikacjach Laravel.

OWASP Top 10 — najczęstsze podatności aplikacji webowych

OWASP Top 10 to lista dziesięciu najpoważniejszych podatności aplikacji webowych, aktualizowana co kilka lat. Każdy developer powinien znać ją na pamięć i sprawdzać kod pod jej kątem.

1. Broken Access Control

Klasyk — użytkownik dostaje się do zasobu, do którego nie ma uprawnień. W Laravelu używaj Policies i Gates dla wszystkiego, co nie jest publiczne. auth()->check() to za mało.

2. Cryptographic Failures

Słabe szyfrowanie haseł, transmisja danych bez TLS, nieaktualne algorytmy. Laravel domyślnie używa bcrypt — to dobre. Nie zmieniaj na MD5/SHA1 „dla wygody".

3. Injection (SQL, NoSQL, Command)

Eloquent i query builder Laravela domyślnie chronią przed SQL Injection. Pułapki: DB::raw() z interpolacją zmiennych, dynamiczne whereRaw, surowe zapytania pisane „na szybko".

4. Insecure Design

Nowość względem poprzednich list. Chodzi o luki na poziomie architektury — np. brak limitu prób logowania, brak weryfikacji zmiany emaila, dostęp do funkcji bez walidacji stanu.

5. Security Misconfiguration

APP_DEBUG=true na produkcji, otwarte porty bazy, default credentials, ekspozycja .env. Stara klasyczna piątka grzechów deploymentu.

6. Vulnerable and Outdated Components

Stare wersje composer/npm pakietów z znanymi CVE. Cotygodniowy composer audit i npm audit to standard.

7. Identification and Authentication Failures

Brak 2FA, słabe hasła, sesje bez wygaśnięcia, brak rotacji tokenów. Laravel Fortify i Jetstream rozwiązują 90% tego za Ciebie.

8. Software and Data Integrity Failures

Ufanie deserializacji niezaufanych danych, brak weryfikacji podpisów updates, niezweryfikowane CDN. Używaj integrity hashes (sri) dla zewnętrznych skryptów.

9. Security Logging and Monitoring Failures

Brak logów = brak wiedzy o włamaniu. Loguj logowania, zmiany uprawnień, dostępy do wrażliwych endpointów. Integracja z Sentry lub własnym SIEM.

10. Server-Side Request Forgery (SSRF)

Aplikacja pobiera URL od użytkownika i sama wysyła zapytanie — atakujący może użyć tego do skanowania wewnętrznej sieci. Whitelist dozwolonych hostów dla wszystkich „pobierz coś z URL" funkcji.

Checklist dla projektu Laravel

  1. HTTPS + HSTS
  2. APP_DEBUG=false na produkcji
  3. composer audit i npm audit w CI
  4. Policies/Gates dla każdego protected zasobu
  5. Rate limiting na auth endpointach
  6. 2FA dla adminów
  7. Logi krytycznych akcji
  8. Sentry/Bugsnag dla błędów produkcyjnych
#Bezpieczeństwo #OWASP #Security

Masz pytania?

Pomożemy wdrożyć rozwiązania z tego artykułu na Twojej stronie. Bezpłatna konsultacja.

Skontaktuj się z nami