CVE-2025-24813-POC JSP Web Shell UploaderJSP Web Shell Uploader
A simple Python tool for uploading a basic JSP web shell to one or more targets via HTTP PUT requests.
⚠️ For educational and authorized penetration testing only.
Apache Tomcat is vulnerable to a Path Equivalence / Path Traversal issue due to improper handling of ../ sequences in paths.
CVE ID: CVE-2025-24813
Severity: Critical
Reference link: https://github.com/advisories/GHSA-83qj-6fr2-vhqg
🧰 Features
Uploads a basic JSP shell with command execution capability
Supports:
Single target (-t)
Multiple targets from file (-f)
Custom headers and payload included
📦 Requirements
Python 3.x
requests library
Install dependencies:
pip install requests
🚀 Usage
python jsp_uploader.py -t http://TARGET_URL
Or for multiple targets:
python jsp_uploader.py -f targets.txt
targets.txt example:
http://192.168.1.100:8080
http://192.168.1.101:8080
🔍 How It Works
This script:
Sends an HTTP PUT request to:
http://<target>/uploads/../webapps/ROOT/updates.jsp
Uploads a JSP file containing a simple command-execution form.
If successful, the shell should be accessible at:
http://<target>/updates.jsp
⚠️ Disclaimer
This tool is for educational use only in controlled environments like labs or CTFs.
Do not use it on real systems without explicit, written authorization.
The author is not responsible for any misuse.
📩 Contact / Contribution
Feel free to fork, improve, or ask for features.
Pull requests are welcome!
Let me know if you'd like a version with screenshots, usage examples, or badges (like license, Python version, etc.)!
[4.0K] /data/pocs/b8c3ade767d454d6db3b27ebe8584d94aafc6105
├── [2.1K] CVE-2025-24813-Exploit.py
├── [2.6K] CVE-2025-24813-Scanner.py
└── [1.5K] README.md
0 directories, 3 files