العودة إلى التحديثات
New releaseAug 20, 2026

XSRFProbe v3.0.0

أداة التدقيق والاستغلال الرئيسية لتزوير الطلبات عبر المواقع (CSRF).

مشاركة


xsrfprobe-logo

XSRFProbe

أداة التدقيق والاستغلال الرائدة لطلب التزوير عبر المواقع (CSRF).

حول الأداة

XSRFProbe هي أداة متقدمة لتدقيق واستغلال طلب التزوير عبر المواقع (CSRF/XSRF). مزودة بمحرك زحف قوي والعديد من الفحوصات المنهجية، وهي قادرة على اكتشاف معظم حالات ثغرات CSRF والالتفافات المرتبطة بها، وتوليد أدلة إثبات مفاهيم قابلة للاستغلال مع كل ثغرة يتم العثور عليها. لمزيد من المعلومات حول كيفية عمل XSRFProbe، راجع داخلية XSRFProbe في الويكي.

banner-image

ويكي XSRFProbeبدء الاستخدامالاستخدام العامالاستخدام المتقدمداخلية XSRFProbeمعرض الصور

بعض الميزات

  • تشغيل مجموعة كاملة من الفحوصات المنهجية — مدعومة بمحرك مقارنة/قياس للاستجابات — قبل الإعلان عن أن نقطة النهاية معرضة للخطر.
  • كشف والتلاعب النشط بالعديد من تطبيقات رمز الحماية من CSRF: تبديل طريقة الطلب، إزالة الرمز، قيم فارغة/مكررة، رموز غير مرتبطة بالجلسة، ملفات تعريف الارتباط المزدوجة الإرسال ورموز الرأس المخصص.
  • اختبار التحقق من Referer و Origin مع تجاوزات واقعية (إزالة الرأس، حيل التعبير النمطي/النطاق الفرعي، Origin: null) بالإضافة إلى تجاوزات تجاوز الطريقة و Content-Type.
  • تحليل حماية ملفات تعريف الارتباط SameSite، مع تعداد اختياري للنطاقات الفرعية (عبر crt.sh) لاختبار تجاوز النطاق الشقيق.
  • العمل مع زاحف قوي يتميز بالزحف الحتمي والمحدود والمسح (قابل للتكوين عبر --max-urls و --max-depth و --crawl-timeout).
  • تكامل اختياري مع Firefox بدون واجهة (Selenium) للاختبارات المعتمدة على المتصفح والتحقق التلقائي من أدوات الإثبات (PoCs) المُنشأة.
  • كشف دقيق لقوة الرمز و تحليل باستخدام فحوصات الإنتروبيا والتشفير.
  • القدرة على توليد أدلة إثبات مفهوم CSRF عادية وخبيثة قابلة للاستغلال.
  • دعم خارج الصندوق لقيم ملفات تعريف الارتباط المخصصة، والرؤوس العامة، وتقرير JSON — كل اكتشاف يحمل تصنيف خطورة وشرط قابلية للاستغلال.
  • المستخدم يتحكم في كل شيء بخصوص ما يفعله الماسح.
  • بيئة تفاعلية سهلة الاستخدام مع دعم كامل للتفاصيل وتسجيل مفصل للأخطاء والثغرات والرموز.

اختبارات الثغرات المنفذة:

كل فحص يقوم به XSRFProbe له معرّف فريد. يظهر المعرّف في إخراج وحدة التحكم (مثل [T6] VULNERABLE: ...) ويتم تخزينه كحقل test_id لكل اكتشاف في تقرير JSON (إلى جانب severity، وحيثما ينطبق، ملاحظة exploitability ضمن details)، بحيث يعود كل اكتشاف إلى الاختبار الدقيق الذي أنتجه.

IDالفئةالفحص
D1وجود رمزعدم وجود رمز حماية من CSRF (تزوير طلب عام)
D2وجود رمزنموذج تسجيل الدخول يفتقر إلى رمز CSRF (CSRF تسجيل الدخول)
T2التلاعب بالرمزالتحقق مرتبط بطريقة الطلب (تبديل GET ↔ POST)
T3التلاعب بالرمزيمكن حذف الرمز بالكامل
T4التلاعب بالرمزالرمز غير مرتبط بجلسة المستخدم (إعادة تشغيل عبر الجلسات)
T5التلاعب بالرمزالرمز مرتبط بملف تعريف ارتباط غير تابع للجلسة (مثل csrfKey)
T6التلاعب بالرمزملف تعريف ارتباط مزدوج الإرسال ساذج (cookie == body، بدون ربط)
T7التلاعب بالرمزقبول قيمة رمز فارغة
T8التلاعب بالرمزيمكن حذف أو تزوير رمز الرأس المخصص
M1الطريقة / نوع المحتوىتجاوز طريقة HTTP عبر معامل _method
M2الطريقة / نوع المحتوىتجاوز طريقة HTTP عبر رأس X-HTTP-Method-Override
M4الطريقة / نوع المحتوىتجاوز التحقق عبر Content-Type بديل
R0المُحيلعدم التحقق من رأس Referer عند إرسال النموذج
R1المُحيلتجاوز التحقق من Referer بحذف الرأس
R2aالمُحيلتجاوز التعبير النمطي Referer — الهدف كنطاق فرعي للمهاجم
R2bالمُحيلتجاوز التعبير النمطي Referer — الهدف في سلسلة الاستعلام
R2cالمُحيلتجاوز التعبير النمطي Referer — الهدف في المسار
O1الأصلتجاوز التحقق من Origin باستخدام Origin: null
O2الأصلتجاوز التحقق من Origin بحيلة النطاق الفرعي
O3الأصلتجاوز التحقق من Origin بحذف الرأس
S2SameSite (المتصفح)تجاوز SameSite=Strict عبر أداة إعادة توجيه من جانب العميل
S3SameSite (المتصفح)تجاوز SameSite=Strict عبر XSS على نطاق فرعي شقيق
S4SameSite (المتصفح)تجاوز SameSite=Lax عبر تحديث ملف تعريف الارتباط / تدفق OAuth
C1وضع ملفات تعريف الارتباطتحليل سمة SameSite لملفات تعريف الارتباط (None/Lax/Strict)
C2وضع ملفات تعريف الارتباطعدم تعيين سمة SameSite على ملفات تعريف الارتباط
E1قوة الرمزالرمز يستخدم ترميز تجزئة ضعيف/منظم
A1قوة الرمزتحليل قابلية التنبؤ/التزوير للرمز بعد المسح

تتطلب الفحوصات S* تكامل المتصفح بدون واجهة اختياريًا (--browser). الفحوصات T*/M*/R*/O* هي فحوصات على مستوى HTTP تخضع لمحرك مقارنة/قياس الاستجابات.

معرض الصور

دعنا نرى بعض السيناريوهات الواقعية لـ XSRFProbe أثناء العمل:

التثبيت والاستخدام

للحصول على معلومات الاستخدام الكاملة، يرجى إلقاء نظرة على صفحتي الويكي — الاستخدام العام و الاستخدام المتقدم.

التثبيت عبر PyPI:

يمكن تثبيت XSRFProbe بسهولة عبر أمر واحد:

pip install xsrfprobe

التثبيت يدويًا:

  • بالنسبة للأساسيات، الخطوة الأولى هي تثبيت الأداة:
pip install .
  • الآن، يمكن تشغيل الأداة عبر:
xsrfprobe --help
  • الاختبارات المعتمدة على المتصفح (--browser، --auto-validate-poc) تتطلب أيضًا توفر geckodriver في PATH الخاص بك (أو الإشارة إليه عبر --geckodriver-path).
  • بعد اختبار XSRFProbe على موقع، يتم إنشاء مجلد مخرجات في دليل العمل الحالي باسم xsrfprobe-output. ضمن هذا المجلد يمكنك عرض السجلات التفصيلية والمعلومات التي تم جمعها أثناء الفحص (مرر --json للحصول على تقرير قابل للقراءة آليًا).

الإصدار والترخيص

XSRFProbe حاليًا v3.0.0 والعمل مرخص بموجب رخصة GNU العامة (GPLv3).

تحذيرات

لا تستخدم هذه الأداة على موقع مباشر!

ذلك لأن هذه الأداة مصممة لأداء جميع أنواع إرسال النماذج تلقائيًا مما قد يخرب الموقع. في بعض الأحيان قد تفسد قاعدة البيانات وربما تتسبب في هجوم حجب الخدمة (DoS) على الموقع أيضًا.

اختبر على إعداد/موقع تجريبي قابل للتخلص منه!

إخلاء مسؤولية

يمكن اعتبار استخدام XSRFProbe لاختبار مواقع الويب دون اتفاق مسبق متبادل نشاطًا غير قانوني. تقع على عاتق المستخدم النهائي مسؤولية الامتثال لجميع القوانين المحلية والولائية والفيدرالية المعمول بها. لا يتحمل المؤلف أي مسؤولية ولا يتحمل أي مسؤولية عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.

كلمات المؤلف

يعتمد هذا المشروع بالكامل على بحثي الخاص وتجاربي الخاصة مع تطبيقات الويب حول هجمات طلب التزوير عبر المواقع. يمكنك محاولة مراجعة الكود المصدري لمساعدتك على فهم كيفية بناء هذه المجموعة. نرحب بشدة بطلبات السحب المفيدة، والأفكار والمشكلات. إذا كنت ترغب في رؤية كيفية تطوير XSRFProbe، تحقق من لوحة التطوير.

صُنع بحب ♡ بواسطة @0xInfection

الفئات