CSRF Nedir?
İngilizce: CSRF (Cross-Site Request Forgery)
CSRF, oturum cookie'si olan kullanıcıyı fark ettirmeden saldırganın seçtiği işlemi yapmaya zorlayan web saldırısıdır.
CSRF Nedir?
CSRF (Cross-Site Request Forgery), kullanıcının tarayıcısında geçerli oturum varken başka bir sitenin hedef uygulamaya istek göndermesidir. Tarayıcı cookie’leri otomatik eklediği için sunucu isteği kullanıcının kendisinden gelmiş gibi görebilir.
Saldırı Nasıl Gerçekleşir?
Kullanıcı bankaya, yönetim paneline veya e-ticaret hesabına giriş yapmış durumdadır. Saldırganın hazırladığı sayfa arka planda para transferi, e-posta değiştirme veya adres ekleme gibi state-changing bir isteği tetikler. Eğer uygulama yalnızca oturum cookie’sine güveniyorsa işlem gerçekleşebilir.
Korunma Yöntemleri
- Her kritik form veya istek için tahmin edilemez CSRF token kullanmak
- Cookie’lerde
SameSite=Laxveya uygun durumlardaSameSite=Stricttercih etmek OriginveRefererbaşlıklarını doğrulamak- GET istekleriyle veri değiştirmemek
- Kritik işlemlerde yeniden doğrulama veya ikinci onay istemek
JWT ve XSS ile İlişkisi
Authorization header içinde taşınan JWT token’ları tarayıcı tarafından otomatik gönderilmediği için klasik CSRF riskini azaltabilir. Ancak JWT cookie içinde saklanıyorsa risk geri döner. XSS açığı varsa saldırgan CSRF token’ını okuyabileceği veya kullanıcı adına işlem yapabileceği için XSS koruması da şarttır.
İş Dünyasında Kullanımı
CSRF bir fayda değil, işlem bütünlüğü riskidir. Üyelik, ödeme, yönetim paneli, adres defteri ve kullanıcı ayarları gibi oturumla çalışan alanlarda korunma kontrolleri test senaryolarına dahil edilmelidir.