Exploit Proof-of-Concept per l'esecuzione di codice in remoto tramite deserializzazione XML di Apache Struts S2-052 (CVE-2017-9805). Creato durante la risoluzione del laboratorio INE eWPTX Practice Range. Include payload personalizzati, script di exploit per reverse shell ed esempi di sfruttamento passo dopo passo.
Questo repository dimostra lo sfruttamento di Apache Struts S2-052 (CVE-2017-9805) tramite deserializzazione XML dannosa.
L'exploit è stato sviluppato durante la risoluzione del lab INE eWPTX Practice Range – Struts XML Deserialization RCE.
Il plugin REST di Apache Struts utilizza XStream per deserializzare le richieste XML.
Quando l'applicazione elabora XML con:
Content-Type: application/xml
Un attaccante può fornire un grafo di oggetti serializzato dannoso che innesca l'esecuzione di comandi arbitrari tramite:
java.lang.ProcessBuilder
Questo si traduce in esecuzione remota di comandi (RCE).
Richiesta del client ↓ Struts REST Plugin ↓ XStream XML Deserialization ↓ Grafo di oggetti dannoso ↓ ProcessBuilder.start() ↓ Esecuzione remota di codice
Piattaforma: INE eWPTX Practice Range
Sfida: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12