
تتأثر Cockpit CMS 2.7.0 بثغرة تحميل الملفات - XSS (البرمجة النصية عبر المواقع) والتي تسمح للمهاجمين برفع ملف PDF يحتوي على XSS مخفي، وعند تنفيذه ستظهر نافذة XSS المنبثقة.
الوصف: ثغرة رفع ملفات في Cockpit CMS 2.7.0 تسمح لمهاجم محلي برفع ملف PDF يحتوي على XSS مخفي.
متجهات الهجوم: AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
هذا هو إصدار البرنامج.

هذا هو محتوى XSS المحقون في ملف PDF.

عند تسجيل الدخول إلى اللوحة، سننتقل إلى قسم «Assets.» من القائمة العامة (General Menu) ونضغط على «Upload Asset».

نقوم برفع ملف PDF المحقون:

في الدليل التالي، نرى أنه تم رفعه بنجاح:

للوصول إلى ملف PDF المحقون، نضغط على الملف كما هو موضح أدناه:

وننسخ رابط مسار الخادم ومعرّف الملف الذي يُخزَّن فيه:

نصل إلى الرابط المنسوخ فتظهر نافذة XSS المنبثقة

أول خطوة هي توليد ملف PDF خبيث يحتوي على XSS مخفي.
للقيام بذلك، ننشئ ملف .js يحتوي على كود Javascript الذي نريد حقنه لتنفيذ XSS في ملف PDF.

ثم ننشئ ملف PDF فارغًا (pdf2go) ونحقن حمولة ملف .js باستخدام أداة JS2PDFInjector

يمكننا تحليل محتوى ملف PDF المحقون باستخدام أداة Peepdf.

يوجد كائن يحمل كود javascript في object[3] ويمكننا فحصه باستخدام أداة pdf-parser من حزمة Peepdf.

لقد أعدت تسمية الملف ليكون في المتناول بسهولة.

نرفع الملف في قسم Assets:

وعند فتحه، نحصل على XSS الخاص بملف PDF المخزَّن على الخادم.
