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=Lax veya uygun durumlarda SameSite=Strict tercih etmek
  • Origin ve Referer baş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.