Exploit de preuve de concept pour l'exécution de code à distance par désérialisation XML Apache Struts S2-052 (CVE-2017-9805). Créé lors de la résolution du laboratoire INE eWPTX Practice Range. Inclut des payloads personnalisés, un script d'exploitation par reverse shell et des exemples d'exploitation étape par étape.
Ce dépôt démontre l'exploitation de Apache Struts S2-052 (CVE-2017-9805) à l'aide d'une désérialisation XML malveillante.
L'exploit a été développé lors de la résolution du laboratoire INE eWPTX Practice Range – Struts XML Deserialization RCE.
Le plugin REST d'Apache Struts utilise XStream pour désérialiser les requêtes XML.
Lorsque l'application traite du XML avec :
Content-Type: application/xml
Un attaquant peut fournir un graphe d'objets sérialisés malveillant qui déclenche l'exécution de commandes arbitraires via :
java.lang.ProcessBuilder
Cela aboutit à une exécution de commandes à distance (RCE).
Requête client ↓ Plugin REST Struts ↓ Désérialisation XML XStream ↓ Graphe d'objets malveillant ↓ ProcessBuilder.start() ↓ Exécution de code à distance
Plateforme : INE eWPTX Practice Range
Défi : Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12