CSRF (CROSS-SITE REQUEST FORGERY) NEDİR? NASIL ENGELLENİR?
Selamlar değerli Siber Alem üyeleri, bugün web sitelerindeki 'Siteler Arası İstek Sahteciliği' yani CSRF zafiyetini işleyeceğiz.
CSRF nedir? Kurbanın halihazırda oturum açmış olduğu bir sitede, onun haberi ve isteği olmadan arka planda yetkili işlemler yaptırılmasıdır.
Gerçek bir senaryo ile anlatalım: Diyelim ki banka.com sitesinde oturumunuz açık. Aynı tarayıcıda başka bir sekmede kötü amaçlı bir siteye girdiniz. O kötü sitede gizli bir form var:
<form action="https://banka.com/transfer" method="POST">
<input type="hidden" name="alici" value="hacker_iban" />
<input type="hidden" name="miktar" value="10000" />
</form>
<script>document.forms[0].submit();</script>
Siz o sayfaya girdiğiniz an tarayıcınız banka.com'a oturum çerezlerinizi otomatik ekleyerek bu isteği atar. Banka sunucusu da 'Ha, bu istek kurbandan geldi, oturumu da geçerli' diyerek parayı transfer eder!
🎥 İlgili Eğitim Videosu: YouTube: Understanding CSRF Vulnerabilities & Prevention
Peki CSRF Nasıl Engellenir? En etkili çözüm CSRF Token (Anti-CSRF Token) kullanımıdır. Sunucu her form için rastgele, tahmin edilemez tek kullanımlık bir token üretir. Saldırgan bu tokenı bilmediği için sahte istek atamaz. Ayrıca SameSite=Strict çerez politikası uygulamak da harika bir korumadır.
Fikirlerinizi ve sorularınızı bekliyorum!
CSRF son zamanlarda SameSite=Lax varsayılan olmasıyla azaldı gibi görünse de GET isteklerinde veya top-level navigasyonlarda halen can yakıyor. Eline sağlık!
Güzel anlatım dostum. Sadece header'a eklenen custom tokenlar (X-CSRF-Token) mobil istemcilerde de çok pratik oluyor.
Konu İstatistikleri
Son Tartışmalar
Popüler Exploitler
Güvenlik Uyarısı
Siber Alem veritabanında paylaşılan exploitler, makaleler ve kodlar tamamen eğitim ve araştırma amaçlıdır. Yasadışı faaliyetlerde kullanılması durumunda tüm sorumluluk kullanıcıya aittir.