
إثبات المفهوم - كتابة ملف تعسفية في Gibbon LMS لـ RCE (CVE-2023-45878)
كتابة ملف عشوائي في Gibbon LMS لتحقيق RCE (CVE-2023-45878)
يسمح GibbonEdu Gibbon LMS الإصدار 25.0.1 والإصدارات الأقدم بكتابة ملف عشوائي لأن rubrics_visualise_saveAjax.php لا يتطلب المصادقة. يقبل نقطة النهاية المعلمات img و path و gibbonPersonID. من المتوقع أن تكون المعلمة img صورة مشفرة بـ base64. إذا تم تعيين المعلمة path، يتم استخدام المسار المحدد كمجلد الوجهة، متصلاً بالمسار المطلق لدليل التثبيت. يتم فك تشفير محتوى المعلمة img باستخدام base64 وكتابته إلى مسار الملف المحدد. وهذا يسمح بإنشاء ملفات PHP تتيح تنفيذ الأوامر عن بعد (بدون مصادقة).
يوفر هذا النص البرمجي غلافًا شبه تفاعلي. يتم تحميل ملف PHP واحد إلى النظام البعيد ويوفر النص البرمجي المحلي غلافًا للتفاعل المباشر معه. عند إرسال أمر، فإنه يعيد استجابة HTTP من الحمولة PHP. في حال إزالة ملف الحمولة من النظام البعيد، سيكتشف النص البرمجي استجابة صفحة خطأ 404، ويقوم بتحميل جديد وإعادة إرسال الأمر الأخير.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
تم توفير هذا النص البرمجي للأغراض التعليمية. يرجى الاختراق بمسؤولية.