Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
phpMyAdmin-CVE-2020-5504-Exploit — إطار عمل مرخّص لاستغلال حقن SQL لثغرة CVE-2020-5504 في phpMyAdmin، يتضمن تعدادًا تلقائيًا لقواعد البيانات، ودعم الحقن الأعمى، ودعم البروكسي، وتقارير منظمة لاختبار الاختراق والبحث الأمني. | Kitploit
أدوات/GitHubGitHub/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit
الاستطلاعماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراقأمن قواعد البيانات

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
GitHub
cerberusmrxi/phpmyadmin-cve-2020-5504-exploit

phpMyAdmin-CVE-2020-5504-Exploit

إطار عمل مرخّص لاستغلال حقن SQL لثغرة CVE-2020-5504 في phpMyAdmin، يتضمن تعدادًا تلقائيًا لقواعد البيانات، ودعم الحقن الأعمى، ودعم البروكسي، وتقارير منظمة لاختبار الاختراق والبحث الأمني.

عرض المستودع
منذ يوم واحدلم تتم المراجعة بعد
مشاركة

CVE-2020-5504 أداة تقييم أمان phpMyAdmin

إطار عمل مصرّح به للاختبار الأمني والبحث لتحديد والتحقق من CVE-2020-5504 في نشرات phpMyAdmin

VersionPythonLicenseSecurity ResearchCVEPull Requests

نظرة عامة · الميزات · التثبيت · الاستخدام · التقارير · البنية · المساهمة

إشعار الاستخدام المسؤول: هذا المشروع مخصص فقط للأنظمة التي تملكها أو التي لديك تفويض صريح لتقييمها. لا تستخدمه ضد الأنظمة العامة أو أنظمة الأطراف الثالثة أو أنظمة الإنتاج دون إذن كتابي ونطاق اختبار محدد.


لقطات الشاشة

مخرجات سطر الأوامرالاستخدام
مخرجات سطر الأوامرالاستخدام

نظرة عامة

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]

يوفر هذا المشروع سير عمل منظمًا لـ الاختراق الأخلاقي المصرح به، والتحقق المتحكم فيه، والبحث الأمني. وهو مصمم لمساعدة المقيّمين على تحديد بصمة الهدف، والتحقق مما إذا كان الهدف يبدو متأثرًا، وتوثيق الأدلة، وإنتاج تقارير منظمة لتتبع المعالجة.

أهداف المشروع

ينظم الإطار حول أربعة أهداف:

  1. التحديد: تثبيتات phpMyAdmin وجمع المؤشرات المتعلقة بالإصدار.

  2. التحقق: من التعرض المشتبه به باستخدام فحوصات متحكم فيها وغير مدمرة حيثما أمكن.

  3. التقييم: للأهداف المصرح بها باستخدام حدود قابلة للتكوين، وسلوك إعادة المحاولة، ودعم وكيل اختياري.

  4. الإبلاغ: عن النتائج بتنسيقات يسهل مراجعتها وأرشفتها ودمجها في سير العمل.

ما ليس هذا المشروع

هذا المشروع ليس بديلاً عن الترقيع، أو إرشادات البائع، أو التكوين الآمن، أو عملية التفويض الرسمية لاختبار الاختراق. وهو لا يضمن اكتشاف كل نشر أو تكوين أو إصدار أو حالة شبكة. يجب مراجعة جميع النتائج يدويًا والتعامل معها كدليل تقييم وليس كحكم أمني تلقائي.


المحتويات

  • نظرة عامة

  • الاستخدام المسؤول

  • الميزات

  • سير عمل التقييم

  • المتطلبات

  • التثبيت

  • الاستخدام

  • أوضاع التشغيل

  • خيارات سطر الأوامر

  • التكوين

  • التقارير

  • البنية

  • استكشاف الأخطاء وإصلاحها

  • إرشادات المعالجة

  • التطوير

  • المساهمة

  • سجل التغييرات

  • الترخيص

  • الإقرارات

  • الاتصال والدعم

  • المراجع


الاستخدام المسؤول

التفويض مطلوب

شغّل هذه الأداة فقط ضد أصل عندما يكون لديك تفويض واضح من مالك الأصل. يجب أن يحدد التفويض الهدف، ونافذة الاختبار المسموح بها، والتقنيات المسموح بها، وعناوين IP المصدر، ومتطلبات التعامل مع البيانات، وجهات اتصال التصعيد، وشروط الإيقاف.

لا تختبر أبدًا الأنظمة المتصلة بالإنترنت لمجرد أنها قابلة للوصول. الوصول ليس إذنًا.

التعامل مع البيانات

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

الضمانات التشغيلية

قبل بدء التقييم، تأكد من أن لديك نسخة احتياطية معروفة الجودة أو إجراء استرداد، وقناة اتصال مع مالك النظام، وخطة تراجع أو إيقاف موثقة. فضّل بيئة اختبار معزولة كلما توفرت. استخدم الوضع الأقل تدخلاً الذي يجيب على سؤال التقييم.


الميزات


سير عمل التقييم

سير العمل الموصى به منظم على مراحل عن قصد بحيث يمكن للمقيّمين البدء بالنشاط الأقل تأثيرًا وزيادة النطاق فقط عند التفويض.``` ┌──────────────────┐ │ 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 └──────────────────┘

root@kitploit:~
يجب مراجعة النتيجة الإيجابية مقابل إصدار الهدف، وسياق المصادقة، وأدلة الطلب، ونطاق الاختبار. أما النتيجة السلبية فلا تُثبت أن النشر آمن؛ فقد تعكس اختلافات في الإصدار، أو ضوابط الوصول، أو التوجيه، أو تخصيص التطبيق، أو تحديد المعدل، أو عدم كفاية الرؤية.

---

## المتطلبات

### متطلبات التشغيل

| المتطلب | الخط الأساسي المدعوم |
| --- | --- |
| نظام التشغيل | 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 الخاص بالمستودع على تثبيت الحزم بشكل فردي.


التثبيت

لينكس و macOS```bash

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

chmod +x start.sh quick.sh exploit.py

root@kitploit:~
ابدأ الواجهة الموجّهة باستخدام:```bash
./start.sh

Windows```

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit Set-Location phpMyAdmin-CVE-2020-5504-Exploit

py -m venv .venv ..venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -r requirements.txt

.\start.bat

root@kitploit:~
إذا كانت سياسة تنفيذ PowerShell تمنع تشغيل المشغّل، فاستخدم نقطة دخول PowerShell الموثقة في المستودع في بيئة مصرح بها:```
powershell -ExecutionPolicy Bypass -File .\start.ps1

التثبيت اليدوي للتبعيات

استخدم هذا فقط عندما يكون requirements.txt غير متوفر أو عندما تتعمد إدارة التبعيات بنفسك:```bash python -m pip install "requests>=2.31.0" "rich>=13.7.0" "colorama>=0.4.6"

root@kitploit:~
---

## الاستخدام

تستخدم الأمثلة أدناه `https://authorized.example/phpmyadmin` كعنصر نائب. استبدله فقط بهدف يقع صراحةً ضمن نطاقك المعتمد.

### وضع الكشف

وضع الكشف هو نقطة البداية الموصى بها. وهو يهدف إلى تحديد بصمة التطبيق وجمع مؤشرات الإصدار دون محاولة استغلاله.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect

الخيارات المختصرة من الواجهة الأصلية مدعومة أيضًا حيثما ينطبق ذلك:```bash python exploit.py -u https://authorized.example/phpmyadmin -m detect

root@kitploit:~
### وضع التحقق

وضع التحقق مخصص لإجراء اختبارات ثغرات أمنية خاضعة للتحكم. لا تستخدمه إلا عندما يسمح نطاق الاختبار صراحةً بنشاط التحقق وتكون بيانات الاعتماد المطلوبة قد قُدمت عبر طريقة معتمدة.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode verify \
  --username "$PMADB_USERNAME" \
  --password "$PMADB_PASSWORD"

تجنب وضع كلمات المرور الحقيقية مباشرة في الأوامر لأن سطور الأوامر قد تُخزَّن في سجل الصدفة أو تتعرض لفحص العمليات المحلية.

وضع البحث

قد ينفذ وضع البحث أنشطة تقييم مصرح بها أوسع نطاقًا وتعدادًا للبيانات. ويجب قصره على بيئات الاختبار المخصصة أو المهام التي تحظى بموافقة كتابية صريحة على النطاق المطلوب.```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode research
--username "$PMADB_USERNAME"
--password "$PMADB_PASSWORD"
--max-databases 20
--max-tables 50

root@kitploit:~
### وضع التشغيل التجريبي

يُعد وضع التشغيل التجريبي مفيدًا للتحقق من بناء الأوامر، ومراجعة سلوك سير العمل، واختبار التكوين دون تنفيذ إجراءات تدخلية.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --dry-run

التقييم بمساعدة البروكسي

وجّه حركة المرور عبر بروكسي اعتراض مصرح به عندما تحتاج إلى فحص الطلبات والاستجابات أثناء الاختبار:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--proxy http://127.0.0.1:8080

root@kitploit:~
استخدم البروكسي فقط عندما تسمح به قواعد الاشتباك وتم تكوينه لتجنب جمع أو الاحتفاظ بالبيانات الحساسة غير الضرورية.

### تقييم قاعدة البيانات المستهدفة

عندما تحدد وثيقة النطاق قاعدة بيانات محددة، قيّد التقييم على تلك القاعدة حيثما يدعم التنفيذ ذلك:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode research \
  --database target_database \
  --max-tables 25

التشخيصات التفصيلية

فعّل الإخراج التفصيلي عند التحقيق في اتصال فاشل، أو استجابة غير متوقعة، أو مشكلة في الإعدادات:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--verbose

root@kitploit:~
### الواجهة التفاعلية

يُوصى باستخدام المُشغِّل التفاعلي للمستخدمين الجدد، لأنه يوفر مطالبات إرشادية، واختيار الوضع، ومؤشرات التقدم، ومخرجات حالة مرمّزة بالألوان.```bash
# Linux/macOS
./start.sh

# Windows
start.bat

أوضاع التشغيل

تصف أسماء الأوضاع سير العمل المقصود، وليست ضمانًا للسلوك في كل تكوين. راجع قواعد التنفيذ والاشتباك قبل استخدام أي وضع ضد نظام حي.


خيارات سطر الأوامر

تعرض واجهة المشروع الحالية الخيارات التالية. شغّل python exploit.py --help للتأكد من أسماء الخيارات الدقيقة المتوفرة في نسختك المحلية.

مهم: تعطيل التحقق من شهادة TLS يُضعف أمان النقل ويجب قصره على ظروف الاختبار المضبوطة. لا تتعامل معه أبدًا كإصلاح إنتاجي.


الإعداد

متغيرات البيئة

يمكن للأداة استخدام متغيرات الوكيل القياسية عندما يجب توجيه حركة المرور عبر وكيل مصرح به:```bash export HTTP_PROXY=http://127.0.0.1:8080 export HTTPS_PROXY=http://127.0.0.1:8080

root@kitploit:~
لا تخزِّن بيانات الاعتماد في ملف `.env` مُضمَّن في المستودع. إذا كانت متغيرات البيئة تُستخدم لبيانات اعتماد الاختبار، فاحمِ جلسة shell وامسحها بعد انتهاء الاختبار:```bash
export PMADB_USERNAME='authorized-test-user'
export PMADB_PASSWORD='use-an-approved-secret-source'

# Remove them when finished
unset PMADB_USERNAME PMADB_PASSWORD

إعدادات YAML

أنشئ config.yaml لإعدادات التقييم الدائمة وغير السرية:```yaml scan: timeout: 10 retries: 3 max_databases: 50 max_tables: 100 max_columns: 50 max_rows: 100 delay_between_requests: 0.5

report: format: json output: report.json include_sensitive: false

root@kitploit:~
أبقِ بيانات الاعتماد خارج هذا الملف إلا إذا كان الملف محميًا بعملية إدارة الأسرار المعتمدة من مؤسستك. أضف ملفات التكوين المحلية التي تحتوي على قيم حساسة إلى `.gitignore`.

---

## التقارير

يدعم الإطار مخرجات JSON وHTML وTXT. اختر التنسيق الذي يناسب الجمهور ومتطلبات الاحتفاظ بالسجلات الخاصة بالمهمة.

### تقرير JSON

JSON مناسب للأتمتة والأرشفة والإدخال في خطوط معالجة التقييم. يظهر أدناه هيكل تقرير تمثيلي؛ قد تختلف الحقول الدقيقة حسب الإصدار والوضع.```json
{
  "scan_info": {
    "target": "https://authorized.example/phpmyadmin",
    "timestamp": "2024-01-15T10:30:00Z",
    "mode": "verify",
    "scanner": "CVE-2020-5504 Security Assessment Tool v1.2",
    "author": "Sudeepa Wanigarathna"
  },
  "fingerprint": {
    "is_phpmyadmin": true,
    "version": "5.0.0",
    "confidence": "CONFIRMED"
  },
  "verification": {
    "vulnerable": true,
    "confidence": "CONFIRMED",
    "status": "VULNERABLE_CONFIRMED"
  },
  "authentication": {
    "authenticated": true,
    "user": "authorized-test-user",
    "score": 8
  },
  "extracted_data": {
    "databases": ["information_schema", "mysql", "test"]
  }
}

تقرير HTML

مخرجات HTML مخصصة للمراجعة البشرية. يمكن أن تتضمن أقسامًا منسقة، ومؤشرات حالة، وملخصات الأدلة، وبيانات وصفية، وتخطيطات قابلة للطباعة. قم بتخزين التقارير المُنشأة في موقع مُتحكم في الوصول إليه.

تقرير TXT

مخرجات TXT مفيدة للمراجعة في الطرفية، وجمع السجلات، ومرفقات التذاكر، والبيئات التي لا يكون فيها التنسيق الغني مرغوبًا.

قائمة التحقق من التعامل مع التقارير

قبل مشاركة تقرير، تأكد من أنه يحتوي فقط على المعلومات المسموح بها في إطار المهمة. راجع عناوين URL، وأسماء المستخدمين، وأسماء قواعد البيانات، وقيم السجلات، وملفات تعريف الارتباط (cookies)، والرموز المميزة (tokens)، وترويسات الطلبات، ومخرجات التصحيح بحثًا عن أسرار أو بيانات شخصية. قم بتنقيح أو إزالة المحتوى الحساس عندما لا يكون ضروريًا لدعم النتيجة.


البنية المعمارية

تم تنظيم المشروع كخط أنابيب تقييم مرحلي:``` Target │ ├── Fingerprinting │ ├── Version detection │ └── Path discovery │ ├── Vulnerability checks │ ├── Controlled verification │ └── Confidence analysis │ ├── Authentication │ ├── CSRF token extraction │ ├── Multi-signal validation │ └── Session management │ ├── Authorized assessment │ ├── Database enumeration │ ├── Table extraction │ └── Scoped data requests │ └── Reporting ├── JSON ├── HTML └── TXT

root@kitploit:~
### طبقة تحليل الاستجابة

تُركّز طبقة تحليل الاستجابة تفسير استجابات HTTP وسلوك التطبيق. توضح الواجهة المفاهيمية التالية المسؤوليات المقصودة:```
ResponseAnalyzer
 ├── status_code( )
 ├── content_type()
 ├── authenticated()
 ├── error_detected()
 ├── verification_result()
 └── extract_metadata()

تساعد مركزة هذه الفحوصات في الحفاظ على اتساق مراحل تحديد البصمة، والمصادقة، والتحقق، والإبلاغ.

تدفق المصادقة```

Login request │ ▼ CSRF token extraction │ ▼ Login submission │ ▼ Cookie and session validation │ ▼ Authenticated-page access test │ ▼ Expected-content verification │ ▼ Authenticated result

root@kitploit:~
---

## استكشاف الأخطاء وإصلاحها

### أخطاء شهادة SSL

إذا كانت بيئة الاختبار المُتحكَّم بها تستخدم شهادة داخلية أو شهادة موقّعة ذاتيًا، فاستخدم خيار TLS الخاص بالمشروع فقط عندما يكون الخطر مفهومًا وتسمح بذلك طبيعة المهمة:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect \
  --no-verify-ssl

الحل المفضَّل هو تصحيح سلسلة الشهادات أو إعدادات الثقة بدلاً من تعطيل التحقق.

مهلات الاتصال

قم بزيادة المهلة فقط بعد التحقق من التوجيه وإعدادات DNS والبروكسي وتوفر الهدف:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--timeout 30

root@kitploit:~
استخدم معدلات طلبات وفترات انتظار متحفظة لتجنب وضع حمل غير ضروري على الهدف.

### أخطاء المصادقة

تحقق من صحة حساب الاختبار، وأن الحساب مسموح له بالوصول إلى الهدف، وأن عنوان URL المقدم يشير إلى تثبيت phpMyAdmin الصحيح. راجع المخرجات المفصلة للبحث عن مؤشرات CSRF والكوكيز وإعادة التوجيه ونوع المحتوى دون مشاركة بيانات الاعتماد أو قيم الجلسة.

### حزمة `rich` مفقودة

ثبّت تبعيات المشروع داخل البيئة الافتراضية النشطة:```bash
python -m pip install -r requirements.txt

إذا كان الإصدار الحالي يدعم ذلك، عطّل التنسيق الغني للحصول على تجربة طرفية بسيطة:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--no-rich

root@kitploit:~
### تم رفض الإذن على Linux أو macOS

اجعل المشغِّل قابلاً للتنفيذ:```bash
chmod +x start.sh exploit.py

نتائج غير متوقعة

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


إرشادات المعالجة

يوصي التقرير الرسمي من phpMyAdmin بترقية التثبيتات المتأثرة على النحو التالي:[1]

الخط المتأثرالإصدارات المتأثرةالإجراء الموصى به
phpMyAdmin 4.xقبل 4.9.4الترقية إلى 4.9.4 أو أحدث.
phpMyAdmin 5.x5.0.0الترقية إلى 5.0.1 أو أحدث.

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

بعد المعالجة، كرر التحقق في بيئة معتمدة واحتفظ بالأدلة التي تُظهر الإصدار المثبّت، ومسار النشر، وتاريخ الاختبار، والنتيجة. تجنّب اختبار أنظمة الإنتاج ما لم يكن التفويض يتضمن صراحةً التحقق بعد المعالجة.


التطوير

الإعداد المحلي```bash

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-dev.txt

root@kitploit:~
على نظام ويندوز، قم بتفعيل البيئة باستخدام:```
.\.venv\Scripts\Activate.ps1

الاختبارات```bash

python -m pytest tests/

root@kitploit:~
### توقعات جودة الكود

يجب أن تتبع المساهمات معيار PEP 8، واستخدام تلميحات الأنواع (type hints) حيثما كان ذلك عمليًا، وتضمين سلاسل توثيق (docstrings) وصفية، والحفاظ على معالجة واضحة للأخطاء، وتجنب تسجيل بيانات الاعتماد أو الكوكيز أو الرموز المميزة أو البيانات المستخرجة غير الضرورية. التغييرات التي تؤثر على نطاق التقييم أو سلوك الطلبات أو المصادقة أو إعداد التقارير يجب أن تتضمن اختبارات وتحديثات للتوثيق.

### الهيكل المقترح للمستودع```
.
├── exploit.py
├── requirements.txt
├── requirements-dev.txt
├── config.yaml.example
├── start.sh
├── start.bat
├── start.ps1
├── tests/
├── docs/
│   └── images/
└── reports/

لا تقم بتضمين التقارير المُولَّدة أو بيانات الاعتماد أو آثار الجلسات أو البيانات الخاصة بالهدف في الالتزامات (commits). أضفها إلى .gitignore عند الاقتضاء.


المساهمة

نرحب بالمساهمات عندما تعمل على تحسين الموثوقية أو التوثيق أو تغطية الاختبارات أو إمكانية الوصول أو مسارات التقييم الآمنة.

  1. انسخ المستودع (Fork).

  2. أنشئ فرعاً مركّزاً، مثل feature/improved-fingerprint-parser.

  3. نفّذ أصغر تغيير متماسك يحل المشكلة.

  4. أضِف الاختبارات والتوثيق أو حدّثهما.

  5. شغّل مجموعة الاختبارات محلياً.

  6. نفّذ عملية Commit برسالة واضحة.

  7. ادفع الفرع وافتح طلب سحب (pull request) يصف التغيير والاختبارات التي أُجريت وأي آثار أمنية أو توافقية.```bash git checkout -b feature/improved-fingerprint-parser git add . git commit -m "Improve fingerprint result handling" git push origin feature/improved-fingerprint-parser

root@kitploit:~
يرجى عدم تقديم تغييرات تضيف أهدافًا غير مصرح بها، أو تضعف وسائل الحماية، أو تكشف بيانات اعتماد حقيقية، أو تتضمن بيانات من أنظمة حيّة، أو تشجع على إجراء اختبارات خارج نطاق موثق.

---

## سجل التغييرات

### الإصدار 1.2

- تم إصلاح خطأ سمة التفاصيل في `FingerprintResult`.

- تمت إضافة مسار احتياطي عند عدم توفر تنسيق الطرفية الغنية.

- تم تحسين أنماط اكتشاف الإصدارات.

- تم تعزيز معالجة الأخطاء في جميع أنحاء سير العمل.

- تمت إضافة التحكم في التحقق من TLS للاختبار الخاضع للتحكم.

- تم تحسين التوافق عبر المنصات.

### الإصدار 1.1

- تمت إضافة وحدة مخصصة لتحديد البصمة.

- تم تنفيذ وضع تحقق آمن.

- تمت إضافة التحقق متعدد الإشارات للمصادقة.

- تمت إضافة توليد تقارير شاملة.

- تم دمج واجهة الطرفية الغنية.

### الإصدار 1.0

- الإصدار الأولي.

- تمت إضافة وظيفة تقييم حقن SQL الأساسية.

- تمت إضافة تعداد قاعدة البيانات.

- تمت إضافة إخراج JSON.

---

## الترخيص

هذا المشروع مرخص بموجب رخصة MIT. راجع ملف [LICENSE](https://github.com/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit/blob/HEAD/LICENSE) للحصول على النص الكامل.```
MIT License

Copyright (c) 2024 Sudeepa Wanigarathna

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

يُوفَّر البرنامج دون أي ضمان. راجع ملف LICENSE الكامل قبل إعادة توزيع المشروع.


شكر وتقدير

يتقدّم هذا المشروع بالشكر إلى فريق phpMyAdmin على نشرة الأمان والتصحيحات التي أصدرها، وإلى الباحثين الذين أبلغوا عن الثغرة، وإلى القائمين على صيانة المكتبات مفتوحة المصدر التي يستخدمها الإطار.


الاتصال والدعم

القناةالرابط
المؤلفSudeepa Wanigarathna
الملف الشخصي على GitHub@sudeepawanigarathna

عند الإبلاغ عن ثغرات في هذا المشروع، تجنّب نشر التفاصيل الحساسة علنًا. استخدم جهة اتصال أمنية خاصة أو عملية الإبلاغ الأمني الموثقة في المستودع بمجرد إعدادها.


المراجع

https://www.phpmyadmin.net/security/PMASA-2020-1/ "نشرة أمان phpMyAdmin PMASA-2020-1"

https://nvd.nist.gov/vuln/detail/CVE-2020-5504 "قاعدة بيانات الثغرات الوطنية NIST: CVE-2020-5504"


الأمان من خلال الإفصاح المسؤول.

العودة إلى الأعلى

تنزيل الأداة
المجالالإمكانيةالوصف
الاكتشافبصمة آليةيحدد نشرات phpMyAdmin المحتملة ويجمع مؤشرات الإصدار.
التحققالتحقق من الثغرةينفذ فحوصات متحكم فيها مع معالجة نتائج موجهة بالثقة.
سير العملأوضاع تشغيل متعددةيدعم سير عمل الكشف والتحقق والبحث والتشغيل التجريبي.
التعامل مع الجلساتإدارة رمز CSRFيستخرج ويدير القيم المتعلقة بـ CSRF المطلوبة في تدفق التطبيق.
المصادقةتحقق متعدد الإشاراتيستخدم مؤشرات متعددة للحد من نتائج المصادقة الخاطئة.
التقييمتعداد قواعد البياناتيدعم التعداد المصرح به لقواعد البيانات والجداول والأعمدة وبيانات محددة.
بحث الحقنتقنيات عمياءيدعم سير عمل بحث قائم على القيمة المنطقية والوقت حيثما يفعّلها التنفيذ.
الإبلاغJSON وHTML وTXTينتج مخرجات منظمة ومنسقة ونصية عادية لجماهير مختلفة.
الموثوقيةإعادة المحاولة والتراجعيعيد محاولة الطلبات العابرة بسلوك قابل للتكوين.
التكاملاتدعم الوكيليمكن استخدامه مع Burp Suite أو وكيل اعتراض HTTP آخر.
سهولة الاستخدامواجهة طرفية غنيةيوفر مخرجات ملوّنة ومؤشرات تقدم ورسائل حالة مقروءة.
التشخيصتسجيل مفصّليكشف معلومات تشخيصية إضافية لاستكشاف الأخطاء المصرح به.
الوضعالغرضالأثر المتوقعالاستخدام الموصى به
detectالتعرف على بصمة التطبيق وتحديد مؤشرات الإصدار.لا شيء أو ضئيلاستطلاع أولي في نطاق مصرح به.
verifyاختبار ما إذا كان الهدف يبدو عرضة للثغرات باستخدام فحوصات مضبوطة.منخفضتأكيد أثناء تقييم مصرح به.
researchإجراء تقييم أوسع وتعداد مصرح به.مرتفعمختبرات مخصصة أو مهام بموافقة صريحة.
dry-runمحاكاة سلوك سير العمل دون تنفيذ إجراءات تدخلية.لا شيءالتحقق من الإعدادات والأوامر.
الخيارالوصفمثال
-u, --urlعنوان URL الأساسي لـ phpMyAdmin المصرح به.--url https://authorized.example/phpmyadmin
-m, --modeيحدد detect أو verify أو research.--mode verify
--dry-runيحاكي سير العمل دون إجراءات تدخلية.--dry-run
--usernameاسم المستخدم لحساب اختبار مصرح به.--username "$PMADB_USERNAME"
--passwordكلمة المرور لحساب اختبار مصرح به.--password "$PMADB_PASSWORD"
-p, --proxyعنوان URL لخادم وكيل HTTP.--proxy http://127.0.0.1:8080
-f, --formatتنسيق التقرير مثل json أو html أو txt.--format html
-o, --outputمسار ملف الإخراج.--output report.html
-d, --databaseيقصر النشاط على قاعدة بيانات محددة حيثما كان ذلك مدعومًا.--database target_database
-t, --timeoutمهلة الطلب بالثواني.--timeout 30
--max-databasesالحد الأقصى لعدد قواعد البيانات المراد تعدادها.--max-databases 20
--max-tablesالحد الأقصى لعدد الجداول المراد تعدادها.--max-tables 50
--max-columnsالحد الأقصى لعدد الأعمدة المراد تعدادها.--max-columns 50
--max-rowsالحد الأقصى لعدد الصفوف التي يمكن طلبها حيثما كان ذلك مدعومًا.--max-rows 100
-v, --verboseيفعّل مخرجات التشخيص.--verbose
--no-verify-sslيعطل التحقق من شهادة TLS للاختبارات المضبوطة فقط.--no-verify-ssl
--no-richيعطل تنسيق الطرفية الغني.--no-rich
متتبّع المشكلاتمشكلات المستودع
البريد الإلكتروني[email protected]