Apache Struts S2-052 (CVE-2017-9805) XML डिसेरिएलाइज़ेशन दूरस्थ कोड निष्पादन के लिए प्रमाण-अवधारणा शोषण। INE eWPTX अभ्यास रेंज प्रयोगशाला को हल करते समय बनाया गया। कस्टम पेलोड, रिवर्स शेल शोषण स्क्रिप्ट, और चरण-दर-चरण शोषण उदाहरण शामिल हैं।
यह रिपॉजिटरी Apache Struts S2-052 (CVE-2017-9805) के शोषण को दर्शाता है, जो दुर्भावनापूर्ण XML डिसीरियलाइज़ेशन का उपयोग करता है।
यह शोषण INE eWPTX Practice Range – Struts XML Deserialization RCE lab को हल करते समय विकसित किया गया था।
Apache Struts REST प्लगइन XML अनुरोधों को डिसीरियलाइज़ करने के लिए XStream का उपयोग करता है।
जब एप्लिकेशन इसके साथ XML को प्रोसेस करता है:
Content-Type: application/xml
एक हमलावर एक दुर्भावनापूर्ण क्रमबद्ध ऑब्जेक्ट ग्राफ प्रदान कर सकता है जो इसके माध्यम से मनमाने कमांड के निष्पादन को ट्रिगर करता है:
java.lang.ProcessBuilder
इसके परिणामस्वरूप रिमोट कमांड निष्पादन (RCE) होता है।
क्लाइंट अनुरोध ↓ Struts REST प्लगइन ↓ XStream XML डिसीरियलाइज़ेशन ↓ दुर्भावनापूर्ण ऑब्जेक्ट ग्राफ ↓ ProcessBuilder.start() ↓ रिमोट कोड निष्पादन
प्लेटफ़ॉर्म: INE eWPTX Practice Range
चुनौती: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12