CSRF Nedir?
İngilizce: Cross-Site Request Forgery
Yayın: · Son güncelleme:
CSRF Nedir? Kısaca
CSRF (Cross-Site Request Forgery), oturumu açık bir kullanıcının tarayıcısını, kullanıcının haberi olmadan güvendiği bir siteye istek göndermeye zorlayan saldırı türüdür. Şifre ya da e-posta değiştirme gibi işlemler hedef alınır.

İçindekiler
CSRF nedir?
CSRF, sizin adınıza istenmeyen bir işlemin, açık oturumunuz kullanılarak yaptırılmasıdır. Tarayıcı, bir siteye giden her isteğe o sitenin çerezlerini otomatik ekler. Site isteğin gerçekten sizin bilinçli tıklamanızla gelip gelmediğini ayırt etmiyorsa, başka bir sayfadan tetiklenen istek de geçerli sayılır.
Örnek senaryo
Bir e-ticaret sitesinde oturumunuz açık ve aynı anda başka bir sekmede bir forum sayfası geziyorsunuz. Forumdaki gizli bir form, siz fark etmeden alışveriş sitesine "e-posta adresini değiştir" isteği gönderebilir. Site ek bir kontrol yapmıyorsa hesabınızın e-postası değişir ve şifre sıfırlama bağlantıları artık başkasına gider.
Bu saldırıda saldırgan şifrenizi görmez. Yalnızca sizin yetkinizle bir işlem yaptırır.
Nasıl önlenir?
Geliştirici için en yaygın çözüm her forma tahmin edilemeyen bir CSRF token eklemek ve sunucuda bunu doğrulamaktır. Çerezlere SameSite özniteliği vermek, kritik işlemlerde şifreyi yeniden sormak ya da ikinci bir onay istemek de etkilidir. Durum değiştiren işlemleri GET isteğiyle yapmamak temel kuraldır.
Kullanıcı olarak, işiniz bitince özellikle banka ve alışveriş sitelerinden çıkış yapın. Hassas işlemleri ayrı bir tarayıcı profilinde yapmak riski azaltır. Hesabınızda kendiniz yapmadığınız bir değişiklik bildirimi alırsanız şifrenizi hemen değiştirip çok faktörlü kimlik doğrulamayı açın.
Sıkça Sorulan Sorular
CSRF ile XSS aynı şey mi?
Hayır. XSS sitede zararlı kod çalıştırır, CSRF ise kod çalıştırmadan sizin oturumunuzla istek gönderir. Bir sitede XSS açığı varsa CSRF korumaları da çoğu zaman aşılabilir.
SameSite çerez tek başına yeter mi?
Riski önemli ölçüde düşürür ama tek savunma olarak görülmemelidir. Tarayıcı farkları ve bazı istisnalar nedeniyle CSRF token ile birlikte kullanılması önerilir.