
استغلال إثبات المفهوم لـ CVE-2022-29464 يتيح رفع الملفات غير المقيد وتنفيذ التعليمات البرمجية عن بُعد على منتجات WSO2 الضعيفة، مع قشرة JSP مخصصة لتنفيذ الأوامر واستخراج الملفات.
تسمح بعض منتجات WSO2 برفع الملفات دون قيود مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد. يجب على المهاجم استخدام نقطة نهاية /fileupload مع تسلسل اجتياز الدليل Content-Disposition للوصول إلى دليل تحت جذر الويب، مثل ../../../../repository/deployment/server/webapps.
python3 main.py https://example.com shell.jsp
استبدل https://example.com بالخادم المعرض للخطر وshell.jsp باسم الملف الذي تريد استخدامه للرفع.
قم بتحرير ملف shell.jsp كما تريد، لكن القشرة الحالية تعمل بشكل جيد أيضًا (أفضل من قشور JSP الأخرى على الأقل).
يمكن لهذه القشرة جمع المخرجات من stdout و stderr. يتم تشغيل الأوامر باستخدام /bin/sh.
غالبًا ما يقوم مسؤولو النظام بتشغيل منتجات WSO2 كمستخدم فائق. باستخدام هذا الاستغلال، ستحصل على صلاحيات المستخدم الفائق على النظام بأكمله.
توجد ملفات قاعدة البيانات في دليل ~/repository/database.
يمكنك استخدام IntelliJ IDEA لفتح قواعد البيانات من نوع H2، مثل هذا.
باستخدام هذا الاستغلال، يمكنك نسخ أي ملف من أي دليل إلى ~/repository/deployment/server/webapps/authenticationendpoint. يخدم دليل authenticationendpoint JSP، ولكن يمكن استخدامه لخدمة ملفات أخرى أيضًا.
مثال:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
سينسخ هذا الأمر ملف قاعدة البيانات الرئيسي إلى دليل يمكننا استخدامه لتنزيله منه.
أنا لست مسؤولاً عن أي نوع من الحرب النووية الحرارية أو عن القبض عليك. استخدم هذا الاستغلال في بيئة اختبار فقط.