İnternet bankacılığınız açıkken tıkladığınız zararsız görünen bir link, siz hiçbir şey yazmadan hesabınızdan para gönderebilir; CSRF tam olarak budur.
Merhaba, ben Güvenlik Uzmanı. Bu kartta CSRF (Cross-Site Request Forgery / İstek Sahteciliği) saldırısını öğreniyoruz: oturumu açık bir kullanıcının tarayıcısını kullanarak, kullanıcının iradesi dışında bir işlemi güvenilen siteye yaptırma tekniği.
NEDİR? CSRF (Cross-Site Request Forgery, Türkçe: Siteler Arası İstek Sahteciliği), oturumu açık olan bir kullanıcının kimliği doğrulanmış tarayıcısını kötüye kullanarak, kullanıcının istemediği bir işlemi (para transferi, e-posta/şifre değiştirme, ayar güncelleme) güvenilen web uygulamasına yaptıran bir saldırı türüdür. Saldırgan kullanıcının oturum bilgisini (cookie/token) ASLA çalmaz; mevcut açık oturumu kullanıcının arkasından kullanır. Bu yüzden "vekaleten işlem yaptırma" olarak da düşünülebilir. NASIL ÇALIŞIR? 1) Kurban, hedef siteye (ör. banka) giriş yapar ve oturum cookie'si tarayıcısında saklanır. 2) Kurban, aynı tarayıcıda saldırganın hazırladığı zararlı bir sayfayı/e-postayı açar. 3) Bu sayfa, hedef siteye otomatik bir istek tetikler (gizli bir form auto-submit, bir <img> etiketi, veya fetch/XHR). 4) Tarayıcı, tarayıcının varsayılan davranışı gereği hedef sitenin cookie'sini bu isteğe OTOMATİK ekler. 5) Sunucu isteği geçerli bir oturumdan geliyor sanır ve işlemi gerçekleştirir — çünkü isteğin kullanıcının niyetiyle mi yoksa sahte bir sayfayla mı tetiklendiğini ayırt edemez. NEDEN ÖNEMLİ / İŞ YERİNDE CSRF, kimlik doğrulama mekanizmasını atlatmaz; doğrulanmış bir oturumun GÜVENİNİ istismar eder. Bu yüzden "giriş yaptım, güvendeyim" yanılgısı tehlikelidir. Para transferi, yönetici hesabı oluşturma, e-posta adresi/şifre değiştirme gibi durum değiştiren (state-changing) işlemler en kritik hedeflerdir. OWASP geçmişte CSRF'i ilk 10 web zafiyeti arasında listelemiştir; bugün modern çerçeveler korumayı yerleşik sunsa da yanlış yapılandırma hâlâ yaygın bir risktir. DİKKAT / İYİ UYGULAMA • Anti-CSRF token: Her form/oturum için sunucunun ürettiği, tahmin edilemez ve tek kullanımlık gizli bir değer kullanın (Synchronizer Token Pattern). Sahte site bu token'ı bilemez. • SameSite cookie: Oturum cookie'lerini SameSite=Lax veya Strict ile işaretleyin; tarayıcı çapraz-site isteklerde cookie'yi göndermez/sınırlar. • Durum değiştiren işlemler için GET kullanmayın; POST/PUT/DELETE tercih edin (GET salt-okunur olmalı). • Kritik işlemlerde yeniden kimlik doğrulama (şifre tekrar isteme) veya MFA onayı ekleyin. • Origin/Referer başlığı doğrulaması ek bir savunma katmanı sağlar.
• CSRF = oturumu açık kullanıcıya, tarayıcısı üzerinden istem dışı işlem yaptırma. • Cookie çalınmaz; tarayıcının cookie'yi otomatik eklemesi istismar edilir. • En çok durum değiştiren işlemleri (transfer, şifre/e-posta değiştirme) hedefler. • Savunma: anti-CSRF token + SameSite cookie + durum değiştirmede POST + kritik işlemde yeniden doğrulama.