CSRF nedir?
CSRF (Cross-Site Request Forgery), kullanıcının tarayıcısını, kullanıcının bilgisi olmadan giriş yapmış olduğu bir siteye istenmeyen bir istek göndermeye yönlendiren saldırıdır. İstek, tarayıcı çerezleriyle birlikte gittiği için hedef site isteği meşru kullanıcıdan gelmiş sanabilir.
Saldırı kullanıcının parolasını çalmaz; oturumun açık olmasından yararlanır. Hedef, genellikle durum değiştiren işlemlerdir: parola veya e-posta değiştirme, ayar güncelleme, para veya veri gönderme.
Nasıl çalışır?
Kullanıcı bir siteye giriş yapmışken saldırganın hazırladığı başka bir sayfayı ziyaret ettiğinde, o sayfa gizlice hedef siteye bir form gönderebilir veya istek yapabilir. Tarayıcı, ilgili alan için çerezleri otomatik ekler. Sunucu isteğin kullanıcının bilinçli eylemi olup olmadığını ayırt edemezse işlemi gerçekleştirir.
Bu nedenle savunma, isteğin kullanıcının kendi sayfasından geldiğini kanıtlayan bir değerin istenmesine dayanır.
Sunucu ve hosting ortamında
CSRF, en çok yönetici panelleri ve yönetim arayüzlerinde önem kazanır; çünkü bu oturumlar yetkilidir. İçerik yönetim sistemlerinde, hosting kontrol panellerinde ve özel yazılmış yönetim ekranlarında durum değiştiren işlemlerin korunması gerekir.
- Çoğu çerçeve ve CMS, form başına rastgele CSRF belirteci üretir.
- Çerezlerdeki
SameSiteözelliği, çapraz site isteklerinde çerez gönderimini kısıtlar.