Data dodania: 18-05-2025
Znany również jako:
Cross-Site Request ForgeryFałszerstwo żądań międzywitrynowychAtak CSRF
Definicja CSRF
Cross-Site Request Forgery (CSRF) to typ ataku polegający na wymuszeniu przez napastnika nieautoryzowanego działania w aplikacji webowej, które wykonuje zalogowany użytkownik. Ofiara – najczęściej nieświadoma – zostaje skłoniona do kliknięcia spreparowanego linku lub załadowania obrazu, który wywołuje żądanie HTTP do zaufanej aplikacji, wykorzystując jej autoryzację (np. ciasteczka sesyjne).
Przykład ataku
- Użytkownik loguje się do panelu bankowości online.
- Następnie odwiedza złośliwą stronę, która w tle przesyła żądanie
POST
do serwisu bankowego z poleceniem wykonania przelewu. - Przeglądarka automatycznie dołącza ciasteczka sesyjne, przez co bank traktuje żądanie jako legalne.
Skutki ataku CSRF
- Nieautoryzowane działania – np. zmiana adresu e‑mail, hasła, przelewy.
- Trwała eskalacja dostępu – przy braku dodatkowych weryfikacji.
- Zagrożenie dla reputacji – użytkownicy mogą stracić zaufanie do serwisu.
Kluczowe czynniki ryzyka
Czynnik | Znaczenie |
---|---|
Brak tokenów CSRF | Brak dodatkowego zabezpieczenia formularzy i żądań POST/PUT/DELETE. |
Brak nagłówków SameSite | Ciasteczka dostępne w kontekście innych stron umożliwiają wykonanie ataku. |
Brak uwierzytelnienia 2FA | Możliwość wykonania wrażliwych akcji bez dodatkowego potwierdzenia. |
Mechanizmy ochronne
- Tokeny anty-CSRF – unikalne i jednorazowe, weryfikowane po stronie serwera.
- Nagłówek
SameSite=Strict
lubLax
– ogranicza przesyłanie ciasteczek z zewnętrznych źródeł. - Weryfikacja źródła (
Referer
,Origin
) – dodatkowe sprawdzanie kontekstu żądania. - CAPTCHA lub 2FA – mechanizmy dodatkowej autoryzacji.
Standardy i rekomendacje
Źródło | Zakres | Znaczenie |
---|---|---|
OWASP Top 10 | Lista najgroźniejszych klas podatności | CSRF był do 2017 na liście głównej |
CWE-352 | Common Weakness Enumeration | Klasyfikacja podatności typu CSRF |
RFC 6265 | Standard ciasteczek HTTP | Wprowadzenie atrybutu SameSite |
Powiązania z innymi atakami
- XSS (Cross-Site Scripting) – może zostać użyty do pozyskania tokena CSRF.
- Session fixation – CSRF może być skuteczniejszy, jeśli sesje są źle zarządzane.
- Clickjacking – może zwiększyć skuteczność CSRF w atakach socjotechnicznych.
Wyzwania w obronie
- Kompatybilność przeglądarek – różne interpretacje nagłówków
SameSite
. - Aplikacje legacy – brak implementacji nowoczesnych zabezpieczeń.
- Ukryte punkty końcowe API – niezabezpieczone interfejsy wewnętrzne narażone na CSRF.
Trendy i rekomendacje
- Domyślne
SameSite=Lax
w przeglądarkach – coraz szersze wsparcie od 2020 r. - Zastępowanie sesji JWT i SPA – zmniejszenie ryzyka poprzez architekturę aplikacji.
- Automatyzacja testów bezpieczeństwa – np. z wykorzystaniem ZAP, Burp Suite, OWASP CSRFTester.