استغلال إثبات المفهوم لثغرة Apache Struts S2-052 (CVE-2017-9805) الخاصة بتنفيذ التعليمات البرمجية عن بُعد عبر إلغاء تسلسل XML. تم إنشاؤه أثناء حل مختبر INE eWPTX Practice Range. يتضمن حمولات مخصصة، ونصًا برمجيًا لاستغلال الصدفة العكسية، وأمثلة خطوة بخطوة للاستغلال.
يستعرض هذا المستودع استغلال ثغرة Apache Struts S2-052 (CVE-2017-9805) باستخدام إلغاء تسلسل XML خبيث.
تم تطوير الاستغلال أثناء حل مختبر INE eWPTX Practice Range – Struts XML Deserialization RCE lab.
يستخدم ملحق REST الخاص بـ Apache Struts مكتبة XStream لإلغاء تسلسل طلبات XML.
عندما يعالج التطبيق XML باستخدام:
Content-Type: application/xml
يمكن للمهاجم إرسال رسم بياني خبيث للكائنات المسلسلة مما يؤدي إلى تنفيذ أوامر عشوائية عبر:
java.lang.ProcessBuilder
يؤدي ذلك إلى تنفيذ الأوامر عن بُعد (RCE).
طلب العميل ↓ Struts REST Plugin ↓ إلغاء تسلسل XML عبر XStream ↓ رسم بياني خبيث للكائنات ↓ ProcessBuilder.start() ↓ تنفيذ الأوامر عن بُعد
المنصة: INE eWPTX Practice Range
التحدي: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12