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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-29041 — مرحبًا، أنا K، هذه أول ثغرة CVE لي، وهي ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE). إنها بداية رحلتي كباحث في مجال الأمن السيبراني. | Kitploit
أدوات/GitHubGitHub/kx00007/cve-2026-29041
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليم
GitHubkx00007/cve-2026-29041

CVE-2026-29041

مرحبًا، أنا K، هذه أول ثغرة CVE لي، وهي ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE). إنها بداية رحلتي كباحث في مجال الأمن السيبراني.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-29041 — تنفيذ أوامر عن بُعد (RCE) عبر رفع ملفات غير مقيد في Chamilo LMS 1.11.32

تنفيذ أوامر عن بُعد (RCE) موثّق في Chamilo LMS 1.11.32 عبر التحقق غير السليم من رفع الملفات في نقطة النهاية AJAX الخاصة بـ ck_uploadimage. يمكن لطالب بصلاحيات منخفضة رفع قشرة ويب PHP متنكرة في صورة ملف صورة، مما يحقق اختراقًا كاملاً للخادم.


📋 ملخص الثغرة

الحقلالتفاصيل
المنتجChamilo LMS
الإصدار1.11.32 (مؤكد)
الثغرةرفع ملفات غير مقيد مع نوع خطير (CWE-434)
الأثرتنفيذ أوامر عن بُعد موثّق (RCE)
CVSS v3.18.8 (HIGH) — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
مطلوب مصادقة✅ نعم — دور الطالب (صلاحية منخفضة)
CWECWE-434: رفع غير مقيد لملف بنوع خطير
المكتشفMENG HOKSENG

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

نقطة النهاية المتأثرة

root@kitploit:~
POST /main/inc/ajax/document.ajax.php?a=ck_uploadimage&cidReq=[COURSE_ID]

الملف المعرض للخطر: main/inc/ajax/document.ajax.php
الدالة المعرضة للخطر: ck_uploadimage

تحليل السبب الجذري

يقوم معالج الرفع بإجراء التحقق من نوع MIME فقط باستخدام دالة PHP mime_content_type()، والتي تفحص البايتات السحرية للملف (أول بضع بايتات من المحتوى)، وليس امتداد الملف.

root@kitploit:~
// منطق التحقق المعرض للخطر (مبسّط)
$mime = mime_content_type($_FILES['upload']['tmp_name']);

if (!mimeAccepted($mime, ['image'])) {
    die("Invalid file type");
}

// ❌ لا يوجد تحقق من الامتداد
// ❌ لا يوجد تنظيف لاسم الملف
move_uploaded_file($_FILES['upload']['tmp_name'], $uploadPath . $fileUploadName);

يتحد ضعفان منفصلان في سلسلة استغلال كاملة:

  1. التحقق من نوع MIME فقط — يتم تجاوزه بإضافة بايتات سحرية صالحة للصور (GIF89a) قبل كود PHP
  2. الحفاظ على اسم الملف الأصلي — يخزن الخادم الملف باستخدام اسم الملف الذي يتحكم فيه المهاجم بما في ذلك امتداد .php، في دليل يمكن الوصول إليه عبر الويب

تقنية التجاوز

يتم إنشاء ملف خبيث على النحو التالي:

root@kitploit:~
GIF89a;<?php system($_GET['cmd']); ?>
  • تقرأ mime_content_type() قيمة GIF89a → تصنفه كـ image/gif → يجتاز التحقق
  • تحفظ move_uploaded_file() الملف باسم shell.php في /app/upload/users/<id>/ → قابل للتنفيذ مباشرة عبر المتصفح

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

قم بتشغيل الاستغلال الكامل الذي يسجل الدخول كطالب لتنفيذ رفع الملفات تلقائيًا image بعد تشغيل استغلال Python الكامل، يمكننا العثور على قشرة الويب المرفوعة لدينا على http://localhost:8081/app/upload/users/3/3/my_fileszhxoxgwj.php?cmd=id image

🛡️ الأثر

يؤدي الاستغلال الناجح لهذه الثغرة إلى اختراق كامل للخادم من حساب بمستوى طالب:

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

أثر CIA: فقدان كامل للسرية والنزاهة والتوافر.


🔧 الإصلاح

▪ فرض قائمة سماح صارمة لامتدادات الملفات يجب قبول امتدادات ملفات الصور المسموح بها صراحةً فقط (مثل .jpg و .png و .gif). يجب رفض الملفات المرفوعة ذات الامتدادات القابلة للتنفيذ مثل .php أو .phtml أو .phar بغض النظر عن نوع MIME.

▪ لا تعتمد فقط على التحقق من نوع MIME لا ينبغي استخدام فحوصات نوع MIME باستخدام دوال مثل mime_content_type() كعنصر تحكم أمني أساسي، حيث يمكن تجاوزها باستخدام ترويسات ملفات مصممة بعناية. يجب استخدام التحقق من MIME فقط كفحص ثانوي.

▪ قم بتخزين الملفات المرفوعة خارج الدلائل التي يمكن الوصول إليها عبر الويب يجب تخزين المحتوى المرفوع في دليل لا يمكن الوصول إليه مباشرة عبر خادم الويب. إذا كان الوصول العام مطلوبًا، فيجب تقديم الملفات من خلال معالج مُتحكم به بدلاً من الوصول المباشر.

📄 المراجع

  • الموقع الرسمي لـ Chamilo LMS
  • CWE-434: رفع غير مقيد لملف بنوع خطير
  • OWASP: رفع ملفات غير مقيد
  • حاسبة CVSS v3.1

👤 المؤلف

MENG HOKSENG
باحث أمني مستقل


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

تم إصدار هذا المشروع لأغراض تعليمية وبحوث أمنية مصرح بها فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا الاستغلال. احصل دائمًا على إذن كتابي صريح قبل إجراء تقييمات أمنية.

تنزيل الأداة