Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-66493 — امتداد Joomla PhocaCommander معرّض لثغرة اجتياز المسار في عمليات الحذف والنسخ والنقل - CVSS 6.4 | Kitploit
أدوات/GitHubGitHub/toanln-cov/cve-2026-66493
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتسريب البياناتأمن الويباختبار الاختراق
GitHubtoanln-cov/cve-2026-66493

CVE-2026-66493

امتداد Joomla PhocaCommander معرّض لثغرة اجتياز المسار في عمليات الحذف والنسخ والنقل - CVSS 6.4

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Path Traversal في عمليات الملفات (حذف / نسخ / نقل)

PhocaCommander ≤ 6.1.3 — مدير مصادق يعبث بالملفات خارج جذر الويب

CVE CVSS v4.0 CWE-22 Affected Researcher


ملخص

يقوم معالج إجراءات الملفات في PhocaCommander ببناء مسارات المصدر والوجهة من معاملات مُرمّزة بـ base64 يتحكم بها المهاجم (pathfrom, pathwhere) دون أي تحقق من احتواء المسار. يمكن لمدير مصادق حذف الملفات ونسخها ونقلها في أي مكان على نظام الملفات يمكن الوصول إليه من عملية خادم الويب.

تم التأكيد في المختبر: حذف ملف في /tmp/ (خارج جذر الويب) ونسخ /etc/passwd إلى مدير ملفات PhocaCommander — مما يجعل محتواه قابلاً للقراءة عبر المحرر المدمج. جميع العمليات الثلاث (حذف، نسخ، نقل) تشترك في نفس مسار الكود غير المُتحقق منه.


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

COMPONENTVULNERABLETESTED ONFIXED
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

تفاصيل الثغرة

المصادقة المطلوبة: مدير (جلسة + رمز CSRF)

الملف: administrator/components/com_phocacommander/views/phocacommanderactiona/view.json.php

السبب الجذري

يقوم عرض الإجراء بفك ترميز pathfrom وpathwhere من base64 ويدمجهما مباشرة مع JPATH_ROOT دون أي فحص احتواء. تُستخدم هذه المسارات غير المُتحقق منها بعد ذلك في جميع عمليات الملفات الثلاث:

VIEW.JSON.PHP — إنشاء مسار هش

// Both parameters decoded from base64 — no containment check
$pathFrom  = JPATH_ROOT . '/' . base64_decode($this->t['pathfrom'])  . '/';
$pathWhere = JPATH_ROOT . '/' . base64_decode($this->t['pathwhere']) . '/';

// Delete — removes any file reachable by www-data
$srcValue = $pathFrom . $v;
if (PhocaCommanderHelper::fileExists($srcValue)) {
    File::delete($srcValue);
}

// Copy / Move — arbitrary cross-directory file operations
File::copy($pathFrom . $v, $pathWhere . $v);
File::move($pathFrom . $v, $pathWhere . $v);

تستخدم الدالة PhocaCommanderHelper::fileExists() الدالة is_file(Path::clean($file)). تعمل Path::clean() على توحيد الشرطات المائلة ولكنها لا تزيل تسلسلات ../، لذا فإن تسلسلات الاجتياز في أي من المعاملين تُحل إلى مسارات نظام ملفات عشوائية دون فحص.


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

السيناريو 1 — حذف ملف خارج جذر الويب

1. تأكيد وجود ملف الاختبار في /tmp/poc.txt

يتم إنشاء ملف اختبار في /tmp/poc.txt مملوك لمستخدم www-data، لتأكيد وجود الهدف قبل عملية الحذف.

ls -la /tmp showing poc.txt

2. تسجيل الدخول إلى لوحة إدارة Joomla والحصول على رمز CSRF

قم بالمصادقة عبر صفحة تسجيل دخول المسؤول. استرجع رمز نموذج Joomla — يظهر كحقل إدخال مخفي في أي صفحة إدارة.

Burp Suite – GET request with CSRF token highlighted in response

3. إرسال طلب الحذف — الملف الهدف خارج جذر الويب

المعاملات بعد فك الترميز:

  • pathfrom=Li4vLi4vLi4vdG1w → ../../..tmp → /tmp/
  • selfiles[0]=file|cG9jLnR4dA== → اسم الملف poc.txt

الطلب / الاستجابة

Burp Suite – POST delete request and "File deleted" response

4. تأكيد حذف الملف من /tmp

ls -la /tmp showing poc.txt is gone


السيناريو 2 — نسخ /etc/passwd إلى مدير الملفات (قراءة ملفات عشوائية عبر النسخ)

1. تسجيل الدخول والحصول على رمز CSRF (نفس السيناريو 1، الخطوة 2)

أعد استخدام جلسة المسؤول من السيناريو 1 أو قم بالمصادقة مرة أخرى للحصول على رمز CSRF جديد.

2. نسخ /etc/passwd إلى phoca-files/ داخل جذر الويب

المعاملات بعد فك الترميز:

  • pathfrom=Li4vLi4vLi4vLi4vZXRj → ../../../../etc → /etc/
  • pathwhere=cGhvY2EtZmlsZXM= → phoca-files → /var/www/html/phoca-files/
  • selfiles[0]=file|cGFzc3dk → اسم الملف passwd

الطلب / الاستجابة

Burp Suite – POST copy request and "File copied" response

3. تأكيد نسخ /etc/passwd إلى phoca-files/

أصبح /etc/passwd موجودًا الآن داخل جذر الويب في phoca-files/passwd، مملوكًا لمستخدم www-data.

ls -la and cat passwd showing full /etc/passwd content in phoca-files

4. فتح الملف المنسوخ في المحرر المدمج في PhocaCommander

انتقل إلى مدير ملفات PhocaCommander في لوحة الإدارة، وافتح phoca-files/، وانقر على الملف passwd ثم انقر على تعديل لعرض محتوياته في محرر CodeMirror المدمج. يتم عرض محتوى /etc/passwd الكامل:

PhocaCommander built-in editor showing /etc/passwd content


التأثير

  1. حذف ملفات عشوائي — يمكن إزالة أي ملف قابل للكتابة بواسطة www-data خارج جذر الويب بشكل دائم، بما في ذلك إعدادات التطبيقات وملفات القفل ومهام cron للخدمات الأخرى
  2. نسخ ملفات عشوائي (→ قراءة) — يمكن نسخ أي ملف قابل للقراءة، بما في ذلك ملفات النظام والإعدادات خارج جذر الويب، إلى مدير الملفات وقراءته عبر المحرر المدمج؛ وهذا يحقق فعليًا قراءة ملفات عشوائية على مستوى نظام التشغيل
  3. نقل ملفات عشوائي — يمكن نقل الملفات عبر حدود الدلائل، مما يعطل الخدمات الأخرى أو يعيد تموضع الملفات لهجمات ثانوية
  4. سلسلة تسريب البيانات — نسخ الملفات الحساسة (/etc/shadow، المفاتيح الخاصة، ملفات .env للتطبيقات الأخرى) إلى جذر الويب يجعلها قابلة للوصول عبر HTTP دون أي إجراء إضافي

المراجع

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66493
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66493
  • مستودع المورّد: https://github.com/PhocaDesign/PhocaCommander
تنزيل الأداة