
يستغل هذا الـ PoC المكتوب بلغة بايثون ثغرة CVE-2024-46987، وهي ثغرة اجتياز المسار (Path Traversal) في Camaleon CMS الإصدار 2.8.0 < 2.8.2 (يعمل على 2.9.0). تسمح للمستخدمين المُصادَق عليهم بقراءة ملفات حساسة على الخادم عبر MediaController. أُعدّ لأغراض التدقيق الأمني المصرح به والبحث التعليمي فقط.
يحتوي هذا المستودع على سكربت إثبات المفهوم (PoC) لـ CVE-2024-46987، والذي يسمح بقراءة ملفات تعسفية (LFI / Path Traversal) على Camaleon CMS.
تم تحديد ثغرة اجتياز المسار (Path Traversal) في إصدارات Camaleon CMS من 2.8.0 إلى < 2.8.2 (وتعمل بشكل غريب أيضًا على 2.9.0). وهي موجودة في طريقة download_private_file في MediaController.
تسمح هذه الثغرة لمستخدم موثق بتنزيل ملفات تعسفية من الخادم عن طريق التلاعب بمعامل file. إذا كان التطبيق يعمل بامتيازات مرتفعة أو إذا كانت الملفات الحساسة متاحة لمستخدم النظام الذي يشغل CMS، فقد يؤدي ذلك إلى تسريب معلومات حرجة (ملفات الإعدادات، الكود المصدري، إلخ.).
التفاصيل الفنية:
requestsيمكنك تثبيت التبعيات باستخدام الأمر التالي:
pip install requests
يتطلب السكربت حساب مستخدم صالح على نظام CMS الهدف للمصادقة واسترداد رمز CSRF اللازم للاستغلال.
python3 CVE-2024-46987.py -u <URL> -l <USERNAME> -p <PASSWORD> <FILE_TO_READ>
-u, --url: الرابط الأساسي للموقع الهدف (مثال: http://example.com).-l, --user: اسم المستخدم للمصادقة.-p, --password: كلمة المرور للمصادقة.--path: (اختياري) مسار نقطة النهاية القابلة للاستغلال. الافتراضي: admin/media/download_private_file.-v, --verbose: تفعيل وضع التفاصيل لرؤية خطوات الاتصال.file: مسار الملف المراد قراءته على الخادم (مثال: /etc/passwd).قراءة ملف /etc/passwd:
python3 CVE-2024-46987.py -u http://target-cms.local -l admin -p password123 /etc/passwd
استخدام وضع التفاصيل:
python3 CVE-2024-46987.py -u http://target-cms.local -l user -p pass -v /etc/hosts
يتم توفير هذا الكود لأغراض التعليم والبحث الأمني فقط. استخدام هذا السكربت ضد أهداف دون إذن مسبق غير قانوني. لا يتحمل المؤلف أي مسؤولية عن إساءة الاستخدام.
تأكد دائمًا من حصولك على إذن صريح قبل إجراء اختبارات الاختراق.