
إطار عمل مرخّص لاستغلال حقن SQL لثغرة CVE-2020-5504 في phpMyAdmin، يتضمن تعدادًا تلقائيًا لقواعد البيانات، ودعم الحقن الأعمى، ودعم البروكسي، وتقارير منظمة لاختبار الاختراق والبحث الأمني.
إطار عمل مصرّح به للاختبار الأمني والبحث لتحديد والتحقق من CVE-2020-5504 في نشرات phpMyAdmin
نظرة عامة · الميزات · التثبيت · الاستخدام · التقارير · البنية · المساهمة
إشعار الاستخدام المسؤول: هذا المشروع مخصص فقط للأنظمة التي تملكها أو التي لديك تفويض صريح لتقييمها. لا تستخدمه ضد الأنظمة العامة أو أنظمة الأطراف الثالثة أو أنظمة الإنتاج دون إذن كتابي ونطاق اختبار محدد.
| مخرجات سطر الأوامر | الاستخدام |
|---|---|
![]() | ![]() |
CVE-2020-5504 هي ثغرة حقن SQL تؤثر على صفحة حسابات المستخدمين في phpMyAdmin. وفقًا للنشرة الرسمية من phpMyAdmin، تتأثر إصدارات phpMyAdmin 4.x قبل 4.9.4 وphpMyAdmin 5.0.0؛ وتوصي النشرة بالترقية إلى 4.9.4 أو أحدث لخط الإصدارات 4.x وإلى 5.0.1 أو أحدث لخط الإصدارات 5.x.[1] ويسجّل National Vulnerability Database أن الاستغلال يتطلب حساب MySQL صالحًا للوصول إلى الخادم.[2]
يوفر هذا المشروع سير عمل منظمًا لـ الاختراق الأخلاقي المصرح به، والتحقق المتحكم فيه، والبحث الأمني. وهو مصمم لمساعدة المقيّمين على تحديد بصمة الهدف، والتحقق مما إذا كان الهدف يبدو متأثرًا، وتوثيق الأدلة، وإنتاج تقارير منظمة لتتبع المعالجة.
ينظم الإطار حول أربعة أهداف:
التحديد: تثبيتات phpMyAdmin وجمع المؤشرات المتعلقة بالإصدار.
التحقق: من التعرض المشتبه به باستخدام فحوصات متحكم فيها وغير مدمرة حيثما أمكن.
التقييم: للأهداف المصرح بها باستخدام حدود قابلة للتكوين، وسلوك إعادة المحاولة، ودعم وكيل اختياري.
الإبلاغ: عن النتائج بتنسيقات يسهل مراجعتها وأرشفتها ودمجها في سير العمل.
هذا المشروع ليس بديلاً عن الترقيع، أو إرشادات البائع، أو التكوين الآمن، أو عملية التفويض الرسمية لاختبار الاختراق. وهو لا يضمن اكتشاف كل نشر أو تكوين أو إصدار أو حالة شبكة. يجب مراجعة جميع النتائج يدويًا والتعامل معها كدليل تقييم وليس كحكم أمني تلقائي.
شغّل هذه الأداة فقط ضد أصل عندما يكون لديك تفويض واضح من مالك الأصل. يجب أن يحدد التفويض الهدف، ونافذة الاختبار المسموح بها، والتقنيات المسموح بها، وعناوين IP المصدر، ومتطلبات التعامل مع البيانات، وجهات اتصال التصعيد، وشروط الإيقاف.
لا تختبر أبدًا الأنظمة المتصلة بالإنترنت لمجرد أنها قابلة للوصول. الوصول ليس إذنًا.
قد تنتج أوضاع التقييم معلومات حول قواعد البيانات أو الجداول أو الأعمدة أو السجلات. تعامل مع جميع المخرجات باعتبارها حساسة على الأرجح. خزّن التقارير باستخدام ضوابط وصول مناسبة، وتجنب وضع الأسرار في سجل الصدفة، وشفر التقارير عندما تتطلب قواعد مشاركتك ذلك، واحذف البيانات المؤقتة بأمان بعد انتهاء المشاركة.
قبل بدء التقييم، تأكد من أن لديك نسخة احتياطية معروفة الجودة أو إجراء استرداد، وقناة اتصال مع مالك النظام، وخطة تراجع أو إيقاف موثقة. فضّل بيئة اختبار معزولة كلما توفرت. استخدم الوضع الأقل تدخلاً الذي يجيب على سؤال التقييم.
| المجال | الإمكانية | الوصف |
|---|---|---|
| الاكتشاف | بصمة آلية | يحدد نشرات phpMyAdmin المحتملة ويجمع مؤشرات الإصدار. |
| التحقق | التحقق من الثغرة | ينفذ فحوصات متحكم فيها مع معالجة نتائج موجهة بالثقة. |
| سير العمل | أوضاع تشغيل متعددة | يدعم سير عمل الكشف والتحقق والبحث والتشغيل التجريبي. |
| التعامل مع الجلسات | إدارة رمز CSRF | يستخرج ويدير القيم المتعلقة بـ CSRF المطلوبة في تدفق التطبيق. |
| المصادقة | تحقق متعدد الإشارات | يستخدم مؤشرات متعددة للحد من نتائج المصادقة الخاطئة. |
| التقييم | تعداد قواعد البيانات | يدعم التعداد المصرح به لقواعد البيانات والجداول والأعمدة وبيانات محددة. |
| بحث الحقن | تقنيات عمياء | يدعم سير عمل بحث قائم على القيمة المنطقية والوقت حيثما يفعّلها التنفيذ. |
| الإبلاغ | JSON وHTML وTXT | ينتج مخرجات منظمة ومنسقة ونصية عادية لجماهير مختلفة. |
| الموثوقية | إعادة المحاولة والتراجع | يعيد محاولة الطلبات العابرة بسلوك قابل للتكوين. |
| التكاملات | دعم الوكيل | يمكن استخدامه مع Burp Suite أو وكيل اعتراض HTTP آخر. |
| سهولة الاستخدام | واجهة طرفية غنية | يوفر مخرجات ملوّنة ومؤشرات تقدم ورسائل حالة مقروءة. |
| التشخيص | تسجيل مفصّل | يكشف معلومات تشخيصية إضافية لاستكشاف الأخطاء المصرح به. |
سير العمل الموصى به منظم على مراحل عن قصد بحيث يمكن للمقيّمين البدء بالنشاط الأقل تأثيرًا وزيادة النطاق فقط عند التفويض.``` ┌──────────────────┐ │ Define scope │ Confirm written authorization and test boundaries └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Detect │ Identify phpMyAdmin and collect version indicators └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Verify │ Perform controlled vulnerability checks └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Assess, if │ Continue only when explicitly authorized │ approved │ └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Report │ Preserve evidence, limits, timestamps, and conclusions └──────────────────┘
يجب مراجعة النتيجة الإيجابية مقابل إصدار الهدف، وسياق المصادقة، وأدلة الطلب، ونطاق الاختبار. أما النتيجة السلبية فلا تُثبت أن النشر آمن؛ فقد تعكس اختلافات في الإصدار، أو ضوابط الوصول، أو التوجيه، أو تخصيص التطبيق، أو تحديد المعدل، أو عدم كفاية الرؤية.
---
## المتطلبات
### متطلبات التشغيل
| المتطلب | الخط الأساسي المدعوم |
| --- | --- |
| نظام التشغيل | Linux أو macOS أو Windows |
| Python | 3.6 أو أحدث، وفقًا لتوافق التبعيات |
| مدير الحزم | `pip` |
| التحكم في الإصدارات | Git، عند التثبيت من المستودع |
| الوصول إلى الشبكة | اتصال بهدف تقييم مُصرَّح به صراحةً |
### تبعيات Python
يتوقع المشروع حاليًا الحزم التالية:```
requests>=2.31.0
rich>=13.7.0
colorama>=0.4.6
dataclasses>=0.6; python_version < "3.7"
للتثبيتات القابلة لإعادة الإنتاج، يُفضَّل استخدام ملف requirements.txt الخاص بالمستودع على تثبيت الحزم بشكل فردي.
git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit cd phpMyAdmin-CVE-2020-5504-Exploit
python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txt