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.
Thread Statistics
Latest Discussions
Popular Exploits
Security Advisory
All exploits, papers, and code shared on the Siber Alem database are strictly for educational and research purposes. Using them for malicious purposes is strictly prohibited and the user assumes all liabilities.