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
PoC-CVE-2017-5638 — Apache Struts2 CVE-2017-5638 (Safe Educational Demo) | Kitploit
Tools/GitHubGitHub/iampetru/poc-cve-2017-5638
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubiampetru/poc-cve-2017-5638

PoC-CVE-2017-5638

Apache Struts2 CVE-2017-5638 (Safe Educational Demo)

View Repository
30 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

PoC: Apache Struts2 CVE-2017-5638 (Safe Educational Demo)

📌 Overview

This project is a Proof-of-Concept (PoC) for CVE-2017-5638, a famous Apache Struts2 vulnerability that allowed attackers to execute arbitrary code on affected servers.
⚠️ This repository contains a safe, non-exploitative demo designed for educational purposes only. It does not perform any malicious actions.


🔎 About the Vulnerability

  • CVE ID: CVE-2017-5638
  • Type: Remote Code Execution (RCE)
  • Component: Apache Struts2 (Jakarta Multipart Parser)
  • Root Cause: User input in the Content-Type header was improperly passed to OGNL (Object-Graph Navigation Language), allowing attackers to inject and execute code on the server.

🛠️ How This PoC Works

This script demonstrates how an attacker might test for the vulnerability — but in a harmless way.

  • It sends a specially crafted Content-Type header containing an OGNL expression.
  • Instead of executing dangerous commands, the payload simply attempts to add a custom header (X-Vuln: Vulnerable) to the server’s response.
  • If the header appears, it means the server is processing OGNL input and is likely vulnerable.

This makes it a safe demonstration of the vulnerability without actually exploiting it.


▶️ Usage

root@kitploit:~
# Install required package
pip install requests

# Run the script
python3 struts2_poc.py

# Enter a target URL when prompted (example)
http://example.com/
Download Tool