Exploit de prueba de concepto para Apache Struts S2-052 (CVE-2017-9805), ejecución remota de código mediante deserialización XML. Creado al resolver el laboratorio INE eWPTX Practice Range. Incluye payloads personalizados, script de exploit de reverse shell y ejemplos de explotación paso a paso.
Este repositorio demuestra la explotación de Apache Struts S2-052 (CVE-2017-9805) mediante deserialización maliciosa de XML.
El exploit fue desarrollado mientras se resolvía el laboratorio INE eWPTX Practice Range – Struts XML Deserialization RCE.
El plugin REST de Apache Struts utiliza XStream para deserializar peticiones XML.
Cuando la aplicación procesa XML con:
Content-Type: application/xml
Un atacante puede suministrar un gráfico de objetos serializado malicioso que desencadena la ejecución de comandos arbitrarios mediante:
java.lang.ProcessBuilder
Esto resulta en Ejecución Remota de Comandos (RCE).
Petición del cliente ↓ Plugin REST de Struts ↓ Deserialización XML de XStream ↓ Gráfico de objetos malicioso ↓ ProcessBuilder.start() ↓ Ejecución remota de código
Plataforma: INE eWPTX Practice Range
Desafío: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12