
cve-2026-48907 scanner
ماسح مستقل بملف واحد لـ Joomla! JCE Editor < 2.9.99.5 — تنفيذ كود عن بُعد غير موثَّق (CVE-2026-48907)
المؤلف: ألما
[!CAUTION]
🚨 إخلاء مسؤولية — اقرأ قبل الاستخدام
هذه أداة اختبار أمني اختراقي.
هذه الأداة مخصصة فقط لتقييمات الأمن المصرح بها.
فحص أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها هو أمر غير قانوني في معظم الدول.
المؤلف (حسين محمد masta ghimau) لا يتحمل أي مسؤولية على الإطلاق عن أي إساءة استخدام، أو ضرر، أو إجراء قانوني، أو فقدان بيانات ناتج عن استخدام هذه الأداة.
بتشغيل هذا الماسح فإنك توافق على ما يلي:
فقط امسح الأصول التي تملكها أو لديك موافقة كتابية صريحة عليها.
تدرك أن الأداة تقوم برفع ملف PHP غير ضار كدليل على الثغرة على الخادم المستهدف كجزء من فحص الدقة الاختراقي.
قم بحذف كل ملف PHP مرفوع يدويًا فور الانتهاء من الاستخدام.
استخدم على مسؤوليتك الخاصة.
[!IMPORTANT] لماذا "الاختراقية" مهمة للدقة: لتحقيق أعلى مستوى ممكن من الثقة والقضاء على النتائج الإيجابية الخاطئة، تقوم هذه الأداة بـ اختبار حمولة تحقق رياضي مباشر. تقوم برفع سطر PHP آمن كدليل على المفهوم ثم تؤكد تنفيذ الكود عن بُعد عن طريق التحقق من نتيجة العملية الحسابية المحسوبة التي يعيدها الخادم. الماسحات غير الاختراقية التي تقرأ فقط أرقام الإصدارات قد تفوت التصحيحات المطبقة يدويًا أو الإصلاحات السريعة المخصصة. هذه الأداة تتحقق من وجود الثغرة فعليًا. لذلك، فهي اختراقية بطبيعتها — استخدمها بحكمة وبعد الحصول على التفويض الكامل.
masta-cve-2026-48907.py هو ماسح Python أصلي تمامًا، بملف واحد مصمم لاكتشاف CVE-2026-48907 في منشآت Joomla! التي تشغل مكون JCE Editor بإصدارات أقدم من 2.9.99.5.
requests/httpx..py واحد يمكنك وضعه في أي مكان.openpyxl أو rich، لكنه يبدو جميلًا عند تثبيتهما.ThreadPoolExecutor..xlsx) منسقة بألوان شرطية.openpyxl لتقارير Excelrich لبطاقات الطرفية الجميلةكل شيء آخر هو مكتبة Python القياسية (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 رابط الهدف الواحد
-l FILE ملف يحتوي على روابط (واحد في كل سطر)
-o OUTPUT مسار خرج Excel مخصص
-t THREADS عدد الخيوط المتزامنة (الافتراضي: 5)
-p PROXY رابط الوكيل (مثل 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: 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[التحقق من صفحة حظر WAF]
E9 --> F8{تم الكشف عن WAF؟}
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/>جميع ملفات POC المرفوعة]
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 حقيقية لك.
مكان لقطة شاشة تقرير 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، وملفات manifest، والأصول الثابتة، وملفات اللغة، ونقاط نهاية خاصة بـ JCE |
| 🛡 كشف جدار الحماية | يكتشف حظر Cloudflare و Incapsula و Sucuri و ModSecurity |
| 🧪 دليل مفهوم اختراقي آمن | يرفع أداة تحقق PHP غير ضارة (مُنسوبة ومُعلمة بوضوح للتنظيف) |
| 📊 واجهة مستخدم طرفية على شكل بطاقات | بطاقات Panel + Table من Rich (أو بديل ANSI) لكل هدف |
| 📁 تقرير Excel | ملف .xlsx تلقائي مع رؤوس وألواح مجمدة وعرض أعمدة وخلايا ملونة حسب الحالة |
| ⚙️ دعم الوكيل | توجيه كل الحركة عبر Burp / ZAP / أي وكيل HTTP |
| 🧵 خيوط | خيوط عمل قابلة للتكوين للقوائم الكبيرة |
| الحالة | المعنى | الثقة |
|---|
| VULNERABLE | تم تنفيذ حمولة PHP وتم التحقق من الدليل الرياضي. الثغرة حقيقية. | 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 |