- بواسطة x32x01 ||
ثغرة Cross-Site Request Forgery (CSRF) واحدة من أخطر الثغرات اللي ممكن تخلي المهاجم ينفّذ عمليات حسّاسة بدل المستخدم الحقيقي، زي تغيير الباسورد، حذف ملفات، إضافة مستخدم جديد… وكل ده بدون ما الضحية يعرف. 😮💨
الفكرة ببساطة إن الضحية بيزور رابط خبيث، والرابط بيرسل Request للموقع المصاب بدل المستخدم وبدون Token صحيح.
في البوست ده هنشرح:
الثغرة بتعتمد على الهندسة الاجتماعية، لأن المهاجم بيبعت للضحية رابط… الرابط ده بيحتوي على صفحة HTML فيها كود جاهز لتنفيذ طلب معين داخل الموقع المصاب. أول ما الضحية يفتح الرابط – الطلب بيتنفّذ فورًا.
أشهر الأسباب:
لو لقينا إن الموقع بيقبل تغيير الباسورد من غير CSRF Token… يبقى الثغرة موجودة بنسبة 100%.
يبعتها للضحية… أول ما يفتحها ويحصل Submit → الباسورد بيتغيّر.
وده يؤدي لدرجة خطيرة جدًا تُسمى:
رابط الأداة:
اضغط Generate PoC Form.
احفظ الملف بصيغة HTML.
والمهاجم يدخل على الحساب بسهولة.
الفكرة ببساطة إن الضحية بيزور رابط خبيث، والرابط بيرسل Request للموقع المصاب بدل المستخدم وبدون Token صحيح.
في البوست ده هنشرح:
- يعني إيه CSRF؟
- الثغرة بتحصل ليه؟
- إزاي نكتشفها؟
- إزاي نستغلها باستخدام أداة CSRF-POC-Generator 🔥
🤔 يعني إيه ثغرة CSRF؟
ثغرة CSRF بتجبر المستخدم يعمل فعل هو مش عايزه… زي تغيير الإيميل أو الباسورد بدون ما يحس.الثغرة بتعتمد على الهندسة الاجتماعية، لأن المهاجم بيبعت للضحية رابط… الرابط ده بيحتوي على صفحة HTML فيها كود جاهز لتنفيذ طلب معين داخل الموقع المصاب. أول ما الضحية يفتح الرابط – الطلب بيتنفّذ فورًا.
⚠️ ليه بتحصل ثغرة CSRF؟
بيئة الموقع ممكن تستقبل طلبات بدون التحقق من CSRF Token وبالتالي يحصل اختراق.أشهر الأسباب:
1️⃣ الموقع مش بيفحص صلاحية الـ Token
المهاجم يقدر يبعت Request بدون Token لأنه أساسًا مش معاه Token الخاص بالضحية (زي الـ Cookies).2️⃣ عدم وجود Token في الـ Request
وده أسوأ سيناريو… الموقع سايب الدنيا سايبة.3️⃣ Token ثابت ومش بيتغير
لو التوكن نفس القيمة في كل Request… يبقى سهل جدًا تخمينه.4️⃣ Token صغير وضعيف
أي قيمة صغيرة وسهلة التخمين تعتبر خطر كبير.🕵️ خطوات اكتشاف ثغرة CSRF في موقع XVWA
هندخل دلوقتي على سيناريو عملي باستخدام BurpSuite:🔎 1. تحليل الطلب الطبيعي (Normal Request)
لما الضحية يغيّر الباسورد في الموقع، بنشوف الـ Request في BurpSuite.لو لقينا إن الموقع بيقبل تغيير الباسورد من غير CSRF Token… يبقى الثغرة موجودة بنسبة 100%.
💣 2. المهاجم يستغل الثغرة
المهاجم يحضر صفحة HTML فيها Form بيبعت Request تغيير الباسورد.يبعتها للضحية… أول ما يفتحها ويحصل Submit → الباسورد بيتغيّر.
وده يؤدي لدرجة خطيرة جدًا تُسمى:
🚨 CSRF To Account TakeOver
يعني سيطرة كاملة على حساب الضحية.🧰 استغلال الثغرة باستخدام CSRF-POC-Generator
أداة قوية وسهلة بتعمل لك Form جاهز لتنفيذ الهجوم.رابط الأداة:
Code:
https://github.com/merttasci/csrf-poc-generator 📥 1. تحميل الأداة
Code:
git clone https://github.com/merttasci/csrf-poc-generator.git 🧭 2. فتح الأداة
ادخل للمجلد وافتح ملف index.html في المتصفح.📌 3. وضع الـ Request
انسخ الـ Request كامل من BurpSuite وحطه في خانة REQUEST.اضغط Generate PoC Form.
📝 4. التعديل على الـ Form
غيّر قيمة passwd للقيمة اللي عاوزها.احفظ الملف بصيغة HTML.
🎯 5. إرسال الرابط للضحية
أول ما الضحية يضغط Submit → الباسورد يتغير فورًا…والمهاجم يدخل على الحساب بسهولة.
🧩 الكود المستخدم (Source Code)
الكود يتم توليده تلقائيًا من الأداة… ويتم حفظه كصفحة HTML جاهزة للهجوم. التعديل الأخير: