
ثغرة اجتياز المسار
يحتوي هذا المستودع على إثبات مفهوم (PoC) مبني بلغة Python لثغرة CVE-2024-46987. هذه الثغرة هي خلل في اجتياز المسار (Path Traversal) موجود في وحدات تنزيل الملفات في بعض بيئات أنظمة إدارة المحتوى (وتحديدًا Camaleon CMS الإصدار 2.9.0)
يقوم السكربت بأتمتة استرجاع ملفات النظام الحساسة (مثل /etc/passwd أو مفاتيح SSH الخاصة) عن طريق تجاوز عملية تسوية المسار المعيارية.
توجد الثغرة لأن التطبيق يقبل معامل file ويُرفقه بمسار دليل دون تنقية كافية.
يستخدم إثبات المفهوم هذا كائن requests.Session وPrepared Requests لضمان إرسال تسلسلات الاجتياز (../../) إلى الخادم "كما هي". يمنع هذا مكتبة Python من تسوية المسار محليًا، وهو ما يُعد عقبة شائعة عند أتمتة استغلال اجتياز الدلائل.
هذه الثغرة تتطلب مصادقة مسبقة. يجب أن يكون لديك:
http://url/admin/login)./admin وانسخ ما يلي من ترويسة Cookie:
auth_token_sessionاستنسخ المستودع وحدّث قاموس COOKIES في exploit.py:
COOKIES = {
'auth_token': 'YOUR_TOKEN_HERE',
'session': 'YOUR_SESSION_HERE'
}