🛡️ باگ CSRF: راهنمای کامل کشف، اکسپلویت و انواع آن
مقدمه
باگ Cross-Site Request Forgery (CSRF) یا جعل درخواست بینوبگاهی، یکی از آسیبپذیریهای رایج و خطرناک وب است. این آسیبپذیری به مهاجم اجازه میدهد تا کاربر معتبر را فریب دهد و او را وادار به انجام عملی ناخواسته در یک وباپلیکیشن کند.
مکانیزم CSRF بر پایه اعتماد مرورگر به کوکیهای جلسه (Session Cookies) است و میتواند منجر به:
تغییر اطلاعات کاربر
انتقال وجه بانکی
یا حتی تصاحب کامل حساب کاربری شود.
این حمله در لیست OWASP Top 10 نیز قرار دارد و معمولاً در برنامههایی دیده میشود که فقط به کوکی برای احراز هویت متکی هستند.

📌 CSRF چیست و چگونه کار میکند؟
CSRF زمانی رخ میدهد که یک سایت مخرب، مرورگر کاربر را مجبور به ارسال درخواستی ناخواسته به یک سایت معتبر کند. مرورگر بهطور خودکار کوکیهای نشست را ضمیمه درخواست میکند، و چون سایت مقصد قادر به تشخیص جعلی بودن درخواست نیست، عملیات انجام میشود.
🔹 تمرکز اصلی این حمله روی درخواستهای تغییر وضعیت (State-Changing) است، نه صرفاً خواندن دادهها.
🎯 مثال ساده
http://bank.com/transfer?to=BOB&amount=100
مهاجم میتواند این درخواست را تغییر دهد:
http://bank.com/transfer?to=MARIA&amount=100000
و آن را در یک ایمیل یا تگ پنهان کند. اگر کاربر در بانک لاگین باشد، وجه منتقل میشود.

📊 انواع CSRF
نوع CSRF توضیح مثال ریسک
مبتنی بر GET سادهترین نوع، استفاده از لینکها و
بسیار آسان برای اکسپلویت
مبتنی بر POST استفاده از فرمهای HTML و ارسال خودکار … نیاز به تعامل کاربر
مبتنی بر JSON دور زدن CORS با text/plain enctype=”text/plain” خطرناک برای APIها
مبتنی بر Method تغییر روش درخواست (PUT, PATCH) تغییر به POST برای دور زدن بستگی به API دارد
Login CSRF ورود اجباری کاربر به اکانت مهاجم وادار کردن قربانی به لاگین افشای دادههای حساس
Stored CSRF ذخیره کد مخرب در سایت هدف CSRF در بخش نظرات حمله گسترده
بر اساس PUT/DELETE مخصوص APIهای مدرن با XMLHttpRequest محدود به CORS

🔍 کشف CSRF
روشهای دستی
بررسی درخواستهای حساس (POST, PUT, DELETE) با Burp Suite یا DevTools
بررسی SameSite Cookie
بررسی نبود CSRF Token یا هدر سفارشی
ابزارها
ابزار کاربرد
Burp Suite تولید PoC با CSRF PoC Generator
OWASP ZAP اسکن خودکار CSRF
XSRFProbe / Bolt ابزارهای پایتونی برای تست CSRF
Burp PoC Creator افزونه Burp برای ساخت PoC

💥 آموزش اکسپلویت CSRF
اکسپلویت پایه
<html>
<body>
<form action="https://vulnerable-site.com/change-email" method="POST">
<input type="hidden" name="email" value="attacker@example.com">
</form>
<script>document.forms[0].submit();</script>
</body>
</html>
اکسپلویت پیشرفته
استفاده از enctype=”text/plain” برای دور زدن CORS
حذف یا تغییر توکنهای ضعیف CSRF
استفاده از برای دور زدن بررسی Referer

🛡️ پیشگیری از CSRF
روش توضیح
CSRF Token تولید توکن منحصربهفرد و اعتبارسنجی آن
Double Submit Cookie ذخیره توکن در کوکی + پارامتر درخواست
SameSite Cookies جلوگیری از ارسال کوکی در درخواستهای Cross-Site
هدرهای سفارشی برای درخواستهای AJAX
بررسی Referer/Origin کنترل مبدأ درخواست
استفاده از فریمورکها مثل Spring, Django, Rails با محافظت داخلی
❌ روشهای ناکارآمد:
استفاده صرف از POST
تراکنش چندمرحلهای بدون توکن
URL Rewriting

📌 نتیجهگیری
CSRF یکی از تهدیدات جدی امنیت وب است. این حمله میتواند با چند خط کد ساده، کنترل کامل حساب کاربر را به مهاجم بدهد. اما با پیادهسازی توکنهای CSRF، SameSite Cookies و هدرهای سفارشی، میتوان بهسادگی جلوی آن را گرفت.

ITACHI
سلام یچه ها امیدوارم از مقاله باگ CSRF
خوشتون امده باشه و لذت برده باشین