
cve-2026-48907 ماسح
ملف واحد، ماسح ذاتي الاحتواء لـ Joomla! JCE Editor < 2.9.99.5 — تنفيذ أوامر عن بعد غير مصادق عليه (CVE-2026-48907)
المؤلف: حسين محمد (masta ghimau)
[!CAUTION]
🚨 إخلاء مسؤولية — اقرأ قبل الاستخدام
هذه أداة اختبار أمني اختراقي.
هذه الأداة مخصصة فقط للتقييمات الأمنية المصرح بها.
مسح أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها يعتبر غير قانوني في معظم الدول.
المؤلف (حسين محمد masta ghimau) لا يتحمل أي مسؤولية على الإطلاق عن أي إساءة استخدام أو ضرر أو إجراء قانوني أو فقدان بيانات ناتج عن استخدام هذه الأداة.
بتشغيل هذا الماسح فإنك توافق على:
مسح فقط الأصول التي تملكها أو لديك موافقة كتابية صريحة عليها.
تدرك أن الأداة تقوم برفع ملف PHP إثبات مفهوم غير ضار إلى الخادم الهدف كجزء من فحص الدقة الاختراقي.
احذف يدويًا كل ملف إثبات مفهوم مرفوع فور الانتهاء من الاستخدام.
استخدم على مسؤوليتك الخاصة.
[!IMPORTANT] لماذا تعتبر "الاختراقية" مهمة للدقة: لتحقيق أعلى ثقة ممكنة والقضاء على النتائج الإيجابية الخاطئة، تقوم هذه الأداة باختبار تحقق رياضي حي للحمولة. تقوم برفع سطر PHP إثبات مفهوم آمن ثم تؤكد تنفيذ الأوامر عن بعد عن طريق التحقق من النتيجة الرياضية المحسوبة تمامًا التي يعيدها الخادم. الماسحات غير الاختراقية التي تقرأ فقط إصدارات النصوص قد تفوت التصحيحات المرتجعة أو الإصلاحات السريعة المخصصة. هذه الأداة تتحقق من وجود الثغرة فعليًا. لذلك، فهي اختراقية بطبيعتها — استخدمها بحكمة وبتفويض كامل.
masta-cve-2026-48907.py هو ماسح بايثون أصلي بالكامل، ملف واحد مصمم لاكتشاف CVE-2026-48907 في نسخ Joomla! التي تشغل مكون JCE Editor الأقدم من 2.9.99.5.
requests/httpx..py واحد يمكنك وضعه في أي مكان.openpyxl أو rich، لكنه يبدو جميلًا عند تثبيتهما.ThreadPoolExecutor..xlsx) منسقة بألوان شرطية.openpyxl لتقارير Excelrich لبطاقات الطرفية الجميلةكل شيء آخر هو مكتبة بايثون القياسية (urllib, http.cookiejar, argparse, threading، إلخ).
# 1. استنساخ المستودع
git clone https://github.com/YOUR_USERNAME/masta-cve-2026-48907.git
cd masta-cve-2026-48907
# 2. (اختياري لكن موصى به) تثبيت الإضافات
pip install -r requirements.txt
يمكنك أيضًا تشغيل السكربت مباشرة بدون تثبيت أي شيء (إخراج طرفي فقط، بدون Excel):
python masta-cve-2026-48907.py -u https://target.com
python masta-cve-2026-48907.py -u https://target.com/joomla
python masta-cve-2026-48907.py -l targets.txt -t 10
python masta-cve-2026-48907.py -u https://target.com -p http://127.0.0.1:8080
python masta-cve-2026-48907.py -h
-u URL عنوان URL للهدف الواحد
-l FILE ملف يحتوي على عناوين URL (واحد لكل سطر)
-o OUTPUT مسار إخراج Excel مخصص
-t THREADS عدد الخيوط المتزامنة (الافتراضي: 5)
-p PROXY عنوان URL للوكيل (مثل http://127.0.0.1:8080)
--timeout N مهلة الطلب بالثواني (الافتراضي: 12)
--verify-ssl تفعيل التحقق من شهادة SSL (الافتراضي: معطل)
-v, --verbose عرض بطاقات النتائج الكاملة لكل هدف أثناء المسح
-d, --debug عرض تتبعات طلبات HTTP الداخلية
--no-color تعطيل إخراج الطرفية الملون
فيما يلي منطق المسح الكامل من الإدخال إلى التقرير النهائي.
flowchart TD
A[المستخدم يقدم -u URL أو -l FILE] --> B[تطبيع وإزالة تكرار الأهداف]
B --> C[تشغيل ThreadPoolExecutor]
C --> D[لكل هدف]
D --> E1[probe_joomla<br/>GET /, meta, manifest,<br/>الأصول الثابتة, README]
E1 --> F1{تم اكتشاف Joomla!؟}
F1 -- لا --> R1[الحالة: NOT_JOOMLA]
F1 -- نعم --> E2[probe_jce<br/>GET jce.xml, نقاط النهاية,<br/>علامات خاصة بـ JCE]
E2 --> F2{تم اكتشاف JCE؟}
F2 -- لا --> R2[الحالة: SAFE<br/>JCE غير مثبت]
F2 -- نعم --> F3{الإصدار >= 2.9.99.5؟}
F3 -- نعم --> R3[الحالة: PATCHED]
F3 -- لا --> E3[extract_csrf<br/>تحليل رمز CSRF لـ Joomla!]
E3 --> F4{تم العثور على الرمز؟}
F4 -- لا --> R4[الحالة: PATCHED<br/>CSRF مفقود → على الأرجح محصن]
F4 -- نعم --> E5[بناء حمولة التحقق الرياضي<br/>masta-cve-2026-48907-poc ...]
E5 --> E6[المتجه 1: Multipart POST<br/>تحميل profile_file إلى tmp/]
E6 --> F5{HTTP 200؟}
F5 -- نعم --> E7["GET /tmp/masta-{rand}.xml.php"]
E7 --> F6{الجسم يحتوي على<br/>MATHOK:3105:END ؟}
F6 -- نعم --> R5[الحالة: VULNERABLE<br/>الثقة: CONFIRMED]
F6 -- لا --> E8[المتجه 2: سلسلة المتصفح<br/>تحميل + إعادة تسمية عبر RPC]
E8 --> F7{تم تأكيد RCE؟}
F7 -- نعم --> R5
F7 -- لا --> E9[التحقق من صفحة حظر جدار الحماية]
E9 --> F8{تم اكتشاف جدار حماية؟}
F8 -- نعم --> R6[الحالة: BLOCKED_BY_WAF]
F8 -- لا --> R7[الحالة: SAFE]
F5 -- لا --> E8
R1 --> S[إضافة النتيجة إلى Excel + بطاقة طرفية]
R2 --> S
R3 --> S
R4 --> S
R5 --> S
R6 --> S
R7 --> S
S --> D
D --> T[طباعة لوحة الملخص]
T --> U[حفظ تقرير Excel في reports/]
U --> V[طباعة تذكير بتنظيف<br/>جميع ملفات إثبات المفهوم المرفوعة]
style R5 fill:#ff0000,stroke:#333,color:#fff
style R3 fill:#32CD32,stroke:#333,color:#000
style R6 fill:#FFD700,stroke:#333,color:#000
استبدل الصورة أدناه بلقطة شاشة الطرفية الفعلية الخاصة بك.

استبدل الصورة أدناه بلقطة شاشة تقرير Excel الفعلية الخاصة بك.

نصيحة: قم بتشغيل الماسح ضد نسخة Joomla! اختبارية محلية لإنشاء لقطات شاشة حقيقية. قم بإيداعها في مجلد assets/ وستظهر تلقائيًا على GitHub.
يقوم هذا الماسح برفع ملف PHP إثبات مفهوم غير ضار إلى الخادم الهدف لتأكيد الثغرة. ستطبع الأداة دائمًا تذكيرًا في نهاية المسح يسرد جميع الملفات المرفوعة. يجب عليك حذفها يدويًا بعد الاختبار. هذه الملفات تُسمى masta-{random}.xml.php أو ما شابه وتحتوي على سطر الإسناد النصي الواضح:
masta-cve-2026-48907-poc. This test is done as part of Security Assessment - masta ghimau.
باستخدام هذا البرنامج فإنك تقر بالمسؤولية الكاملة عن أفعالك. الكود مُقدم "كما هو" بدون أي ضمانات. إذا كنت لا تفهم الآثار المترتبة على تشغيل ماسح اختراقي للتحقق من RCE، فلا تستخدم هذه الأداة.
🛡 استخدمها لحماية أصولك الخاصة. ليس لإيذاء الآخرين.
| الميزة | الوصف |
|---|
| 🔍 بصمات متعددة المصادر | يكتشف Joomla! و JCE عبر وسوم meta، الملفات البيانية، الأصول الثابتة، ملفات اللغة، ونقاط نهاية خاصة بـ JCE |
| 🛡 كشف جدار الحماية | يحدد حظر Cloudflare و Incapsula و Sucuri و ModSecurity |
| 🧪 إثبات مفهوم اختراقي آمن | يرفع ملف PHP مدقق رياضي غير ضار (منسوب + موسوم بوضوح للتنظيف) |
| 📊 واجهة طرفية ببطاقات | Panel + Table غنية من Rich (أو بديل ANSI) لكل هدف |
| 📁 تقرير Excel | .xlsx مولّد تلقائيًا مع رؤوس، تجميد أجزاء، عرض أعمدة، وخلايا حالة ملونة |
| ⚙️ دعم الوكيل | توجيه كل الحركة عبر Burp / ZAP / أي وكيل HTTP |
| 🧵 متعدد الخيوط | عدد قابل للتكوين من خيوط العمال للقوائم الكبيرة |
| الحالة | المعنى | الثقة |
|---|
| VULNERABLE | تم تنفيذ حمولة PHP والتحقق الرياضي مثبت. RCE حقيقي. | CONFIRMED |
| VULNERABLE_UPLOAD_ONLY | تم رفع الملف بنجاح، لكن تم حظر تنفيذ PHP. قابل للاستغلال لكن RCE غير مؤكد. | HIGH |
| PATCHED | تم اكتشاف Joomla! / JCE والإصدار >= 2.9.99.5، أو CSRF محصن. | HIGH / MEDIUM |
| SAFE | JCE غير مثبت، أو فشلت متجهات الاستغلال (على الأرجح مصحح/محصن). | HIGH |
| BLOCKED_BY_WAF | جدار حماية تطبيقات الويب قام بحظر الاختبار. | LOW |
| NOT_JOOMLA | الهدف لا يبدو موقع Joomla!. | CERTAIN |
| ERROR | خطأ في الشبكة / الاتصال / استثناء غير معالج. | LOW |