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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-48908-PoC — PoC لاستغلال RCE بدون مصادقة لثغرة CVE-2026-48908 — SP Page Builder لـ Joomla (≤ 6.6.1): رفع ملفات تعسفي عبر asset.uploadCustomIcon. تنظيف ذاتي، محمي برمز توكن. للاختبار المصرح به فقط. | Kitploit
أدوات/GitHubGitHub/papageo75/cve-2026-48908-poc
توليد الحمولةتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubpapageo75/cve-2026-48908-poc

CVE-2026-48908-PoC

PoC لاستغلال RCE بدون مصادقة لثغرة CVE-2026-48908 — SP Page Builder لـ Joomla (≤ 6.6.1): رفع ملفات تعسفي عبر asset.uploadCustomIcon. تنظيف ذاتي، محمي برمز توكن. للاختبار المصرح به فقط.

عرض المستودع
1525منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2026-48908 — ثغرة RCE بدون مصادقة في SP Page Builder (Joomla)

استغلال لإثبات المفهوم (PoC) لثغرة CVE-2026-48908، وهي ثغرة حرجة (CVSS 4.0 = 10.0) تتيح تنفيذ تعليمات برمجية عن بُعد (RCE) بدون مصادقة في مكوّن SP Page Builder (com_sppagebuilder) لنظام Joomla، من تطوير JoomShaper.

CVECVE-2026-48908
الضعفCWE-284 تحكم غير سليم في الوصول → رفع ملفات عشوائي بدون مصادقة → RCE
المكوّنSP Page Builder (com_sppagebuilder) لـ Joomla
الإصدارات المتأثرة1.0.0 – 6.6.1
أُصلح في6.6.2
الصلاحيات المطلوبةلا شيء (قبل المصادقة)
تفاعل المستخدملا شيء

الوصف

يُتيح SP Page Builder مهمة المتحكّم asset.uploadCustomIcon للتعامل مع رفع حزمة أيقونات خطوط (icon-font) مخصّصة:

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

في الإصدارات المتأثرة، يمكن الوصول إلى هذه المهمة بدون مصادقة وبدون رمز anti-CSRF صالح. تقبل هذه المهمة أرشيف ZIP (حقل multipart باسم custom_icon) وتستخرج محتوياته إلى مجلد عام يُقدَّم عبر الويب ضمن جذر المستندات (document root):

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (including the fonts/ subfolder)

ونظرًا لأن الرفع متاح قبل المصادقة (pre-auth) وأن الملفات المستخرجة تستقر في جذر الويب، يمكن للمهاجم كتابة ملفات يتحكم بها إلى موقع قابل للتصفح والوصول إليها عبر HTTP.

تحقيق تنفيذ التعليمات البرمجية رغم مرشّح الامتدادات

تضيف بعض الإصدارات مرشّحًا لأسماء الملفات على مستوى الخادم يُطبَّق على مدخلات الأرشيف. يتجاوز هذا الـ PoC تنفيذًا شائعًا لهذا المرشّح عبر سلسلة من ثلاث خطوات:

  1. قائمة حظر حساسة لحالة الأحرف. يرفض المرشّح الامتدادات الصغيرة .php, .phtml, .phar, .php3–.php8, .pht, .inc, … لكنه لا يوحّد حالة الأحرف، لذا فإن .PHP (وأشكال أخرى مختلطة الأحرف) و**.htaccess** تمرّ دون رفض.
  2. معالج خادم ويب حساس لحالة الأحرف. معالج PHP الافتراضي في Apache (<FilesMatch "\.php$">) ينفّذ فقط .php الصغيرة، لذا فإن ملف .PHP المرفوع يُقدَّم في البداية كنص مصدري دون تنفيذ.
  3. تجاوز عبر .htaccess. يتم وضع ملف .htaccess (الذي تفوته قائمة الحظر أيضًا) يحتوي على AddType application/x-httpd-php .PHP بجانب الحمولة. وعندما يسمح AllowOverride بذلك، يُسجَّل .PHP كامتداد PHP وتنفَّذ الصدفة المرفوعة.

يقوم الـ PoC دائمًا بتغليف بنية أيقونات خطوط صالحة (selection.json, style.css, fonts/<name>.ttf) بحيث يُقبل الرفع، ثم يضيف الصدفة.

تكيّفي — يجرب قائمة من الامتدادات التي ينفّذها PHP (الأقل أثرًا أولًا)، ثم خطة بديلة عبر .htaccess، ويتوقف عند أول طريقة تنفّذ التعليمات البرمجية فعليًا:

  1. رفع ملفات مفردة مباشرة — fonts/<shell>.<ext> لكل من php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. بدون .htaccess. تحجب مرشّحات SP Page Builder المختلفة مجموعات مختلفة، وتنفّذ إعدادات Apache المختلفة امتدادات مختلفة — لذا تجد هذه الطريقة أي تركيبة يسمح بها الهدف وينفّذها أيضًا.
  2. fonts/.htaccess + fonts/<shell>.PHP (خطة بديلة) — فقط إذا فشلت كل المحاولات المباشرة. ملف .htaccess الموضوع (AddType … .PHP) يُجبر ملف .PHP بأحرف كبيرة على التنفيذ حيث يسمح AllowOverride بذلك (هذا ما تحتاجه المضيفات من طراز 5.4.6).

يتوقف عند أول طريقة تنفّذ التعليمات البرمجية ويطبع أي طريقة نجحت. يتم تتبع كل رفع مقبول، لذا فإن --cleanup يزيل جميعها (قد تترك المحاولات المتعددة مجلدات للكتابة فقط).

تختلف النتيجة حسب الإصدار وتحصين الخادم، ويوضح الـ PoC ذلك صراحةً (انظر النتائج أدناه): RCE كاملة، كتابة ملفات فقط (PHP معطّل / AllowOverride None)، مُصلَح (للمدير فقط)، أو غير قابل للاستغلال.

المتطلبات

root@kitploit:~
pip install -r requirements.txt   # requests

الاستخدام

root@kitploit:~
# confirm the vulnerability and prove code execution (runs `id`)
python3 sppb_rce.py https://target.example

# run a specific command
python3 sppb_rce.py --url target.example -c "uname -a"

# interactive pseudo-shell
python3 sppb_rce.py https://target.example --shell

# only check; run no command
python3 sppb_rce.py https://target.example --check

# remove the uploaded payload directory afterwards
python3 sppb_rce.py https://target.example --cleanup

يمكن تحديد الهدف كوسيط موضعي (positional argument) أو عبر --url، مع أو بدون بروتوكول (scheme).

مثال (مُنقّح)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

النتائج (ورموز الخروج)

يخبرك الـ PoC دائمًا بالنتيجة النهائية للهدف:

المخرَجالمعنىرمز الخروج
CODE EXECUTION CONFIRMED via '<method>'قابل للاستغلال — RCE كاملة بدون مصادقة0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT executeكتابة ملفات فقط (AllowOverride None / PHP معطّل في /media)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)مُصلَح — يتطلب الرفع الآن مصادقة المدير1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patchedغير قابل للاستغلال / المكوّن غير موجود2

ميزات الأمان

  • الصدفة التي يتم وضعها على الويب محمية برمز عشوائي لكل تشغيل (per-run token) وتُرجع 404 لأي شخص لا يمتلكه — إنها ليست بابًا خلفيًا مفتوحًا للجميع.
  • يحذف --cleanup مجلد الحمولة الذي أنشأه.
  • الإجراءات الافتراضية غير ضارة (id، وعلامة حسابية).

المعالجة

  1. قم بترقية SP Page Builder إلى 6.6.2 أو أحدث (يضيف فحوصات المصادقة والتفويض وCSRF إلى مهمة الرفع). هذا هو الإصلاح الأساسي.
  2. دفاع متعمّق (Defense-in-depth) على خادم الويب:
    • عطّل تنفيذ PHP في مجلدات الرفع (/media/, /images/, /tmp) عبر تجمّع FPM (FPM pool) أو php_admin_flag engine off.
    • اضبط AllowOverride None على تلك المجلدات بحيث لا يتمكن ملف .htaccess موضوع من إعادة تفعيل المعالجات.
    • استخدم قائمة سماح (allow-list) غير حساسة لحالة الأحرف لامتدادات الرفع، ولا تستخدم أبدًا قائمة حظر (blocklist).
  3. مراجعة بافتراض حدوث الاختراق (Assume-breach): ابحث عن ملفات .php/.PHP غير متوقعة ضمن media/.../iconfont/، وحسابات Super User جديدة، ومديري ملفات مزروعين.

المراجع

  • NVD — CVE-2026-48908
  • سجل CVE.org — CVE-2026-48908
  • شرح فني — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • المطوّر — JoomShaper SP Page Builder (إصلاح أمني في 6.6.2)
  • SP Page Builder — Joomla Extensions Directory

الكلمات المفتاحية

استغلال SP Page Builder في Joomla · ثغرة RCE بدون مصادقة في com_sppagebuilder · CVE-2026-48908 PoC · رفع ملفات عشوائي عبر asset.uploadCustomIcon · تنفيذ تعليمات برمجية عن بُعد في Joomla · سكربت استغلال لاختبار الاختراق (pentest).

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

يُنشر هذا البرنامج لأغراض تعليمية ولأغراض الاختبارات الأمنية المصرَّح بها فقط — مثل اختبارات الاختراق التي لديك إذن كتابي لتنفيذها، وبرامج مكافآت الثغرات (bug-bounty) التي تشمل الهدف ضمن نطاقها، ومسابقات CTF، وأنظمة مختبرك الخاصة.

الوصول إلى أنظمة الحاسوب أو تعديلها أو تعطيلها دون تصريح غير قانوني في معظم الدول. أنت وحدك المسؤول كليًا عن أفعالك. باستخدام هذا الكود أو تنزيله أو توزيعه، فأنت توافق على ما يلي:

  • أنك ستستخدمه فقط ضد أنظمة تملكها أو لديك إذن صريح وموثّق لاختبارها؛
  • أن المؤلفين والمساهمين لا يتحملون أي مسؤولية عن أي ضرر أو فقدان بيانات أو انقطاع خدمة أو عواقب قانونية ناتجة عن استخدام هذا الكود أو إساءة استخدامه؛
  • أن هذه المادة مُقدَّمة "كما هي"، دون أي ضمان من أي نوع، صريح أو ضمني.

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

الترخيص

MIT — انظر LICENSE.

تنزيل الأداة