
إثبات مفهوم لاستغلال CVE-2023-33404: ثغرة رفع ملفات مصادق عليها في BlogEngine.NET CMS 3.3.8.0 وما قبله، مما يتيح تنفيذ تعليمات برمجية عن بُعد عبر مسار رفع ثابت.
يمكن للمستخدم الذي لديه صلاحية EditOwnPosts على نظام BlogEngine.NET CMS (الإصدار 3.3.8.0 والإصدارات الأقدم) رفع ملف ضار إلى موقع محدد مسبقًا بشكل ثابت.
يؤدي إرسال طلب POST إلى نقطة النهاية /api/upload باستخدام المعامل "action=video"، كما هو موضح في لقطة الشاشة أدناه، إلى تشغيل عملية رفع الملف.

يقوم التطبيق أولاً بالتحقق مما إذا كان المستخدم لديه صلاحيات EditOwnPosts للمتابعة مع رفع الفيديو، وإلا يظهر التطبيق خطأ.
كما هو موضح في لقطة الشاشة أدناه، في السطرين 101 و105، يحدد التطبيق موقعًا ثابتًا مسبقًا للملفات التي يتم رفعها. بعد ذلك، يستدعي دالة باسم UploadVideo (في السطر 107).

تقوم دالة UploadVideo بالتحقق من وجود الدليل الهدف، وتنشئه إذا لم يكن موجودًا، وتحفظ الملف في الدليل.

كما هو موضح في لقطة الشاشة أدناه، فهي تنقل الملف الضار إلى الدليل الثابت مسبقًا. يؤدي طلب الملف الذي تم رفعه إلى تنفيذ تعليمات برمجية عن بُعد (RCE).
