Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
struts-s2-052-deserialization-rce-lab — Proof-of-Concept exploit for Apache Struts S2-052 (CVE-2017-9805) XML Deserialization Remote Code Execution. Created while solving the INE eWPTX Practice Range lab. Includes custom payloads, reverse shell exploit script, and step-by-step exploitation examples. | Kitploit
Tools/GitHubGitHub/experience-rookie/struts-s2-052-deserialization-rce-lab
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload DevelopmentLabs & Practice
GitHub
experience-rookie/struts-s2-052-deserialization-rce-lab

struts-s2-052-deserialization-rce-lab

Proof-of-Concept exploit for Apache Struts S2-052 (CVE-2017-9805) XML Deserialization Remote Code Execution. Created while solving the INE eWPTX Practice Range lab. Includes custom payloads, reverse shell exploit script, and step-by-step exploitation examples.

View Repository
5 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Apache Struts S2-052 XML Deserialization RCE

This repository demonstrates exploitation of Apache Struts S2-052 (CVE-2017-9805) using malicious XML deserialization.

The exploit was developed while solving the INE eWPTX Practice Range – Struts XML Deserialization RCE lab.


Vulnerability Overview

Apache Struts REST plugin uses XStream to deserialize XML requests.

When the application processes XML with:

Content-Type: application/xml

An attacker can supply a malicious serialized object graph which triggers execution of arbitrary commands via:

java.lang.ProcessBuilder

This results in Remote Command Execution (RCE).


Vulnerable Flow

Client Request ↓ Struts REST Plugin ↓ XStream XML Deserialization ↓ Malicious Object Graph ↓ ProcessBuilder.start() ↓ Remote Code Execution


Lab Environment

Platform: INE eWPTX Practice Range
Challenge: Struts XML Deserialization RCE


Affected Versions

Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12

Download Tool