
استغلال لإثبات المفهوم لـ CVE-2022-34919: رفع ملف دون مصادقة وتنفيذ أوامر عشوائية في نظام Contensis CMS قبل الإصدار 15.2.1.79. يتضمن خطوات إعادة إنتاج خطوة بخطوة ونشر شل ويب.
نظام إدارة المحتوى Contensis قبل الإصدار 15.2.1.79 يحتوي على ثغرة في واجهته 'Classic' تسمح لمستخدم غير مصادق بتحميل واعتماد ملفات عشوائية. عن طريق تحميل ملف بامتداد aspx، يمكن تنفيذ أوامر في سياق خادم الويب.
تم اكتشاف هذه الثغرة في مارس 2022 وتم تصحيحها بواسطة Zengenti في إصدارها بتاريخ 8 أبريل 2022.
خطوات إعادة الإنتاج:
1:
يتم تحميل الملف أولاً عبر طلب POST إلى نقطة النهاية التالية:
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/UploadFile?folderId=1&projectId=1&context=%7B%22UserID%22%3A1%2C%22LanguageID%22%3A1%2C%22SecurityToken%22%3A%22%22%7D
تشير معلمة context إلى المستخدم الذي يقوم بتحميل الملف؛ في هذه الحالة، UserId 1، مسؤول النظام. معلمة SecurityToken مطلوبة ولكن يمكن تركها فارغة. هذا الطلب (لقطة شاشة 1) ينشئ ملفًا مؤقتًا على الخادم برقم UUID. في هذا المثال، استخدمت قشرة ويب متاحة على: https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.aspx

2:
يجب بعد ذلك اعتماد الملف عبر طلب POST إلى نقطة النهاية التالية:
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/CreateContent
سيحتوي هذا الطلب (لقطة شاشة 2) على مسار الملف المؤقت من الطلب الأول وسيتضمن معلمات للموافقة على النشر وتعديل نوع المحتوى لتجاوز قيود الملفات. في هذه الحالة، تم تعيين ContentTypeId إلى 43، مما يشير إلى أنه مستند HTML، وليس ASPX. ثم يصبح الملف متاحًا في النطاقات 'preview' و 'live' أدناه:
https://preview-[example].cloud.contensis.com/cmd2.aspx
https://iis-live-[example].cloud.contensis.com/cmd2.aspx

3:
كن مسؤولًا واختبر هذا فقط على المضيفين المصرح لهم (لقطة شاشة 3)