一个基于 Python 的安全扫描器,用于识别 SAP Visual Composer 系统中的 CVE-2025-31324 漏洞,并检测已知的入侵指标(IOC),例如恶意的 .jsp 文件。
.jsp 文件(Webshell)requests 库(通过 requirements.txt 安装)# 1. Clone the repository
git clone https://github.com/youruser/CVE-2025-31324.git
cd CVE-2025-31324
# 2. Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
scan.py # Main scanner
targets.csv # Input list of targets
ioc_list.txt # Optional IOC signature list
results.csv # Output report (if --output used)
requirements.txt # Python dependencies
创建一个名为 targets.csv 的文件,采用以下分号分隔格式,包含 IP、端口和 SSL 选项:
192.168.1.10;50000;false
myunsafelocation.example.com;443;true
10.0.0.5;8080;false
true、false、yes 或 no创建一个名为 ioc_list.txt 的文件:
# Default IOCs
cache.jsp
helper.jsp
nzwcnktc.jsp
# Add your own signatures
shell.jsp
webadmin.jsp
python3 scan.py --input targets.csv
| 参数 | 说明 |
|---|---|
--iocfile | 自定义 IOC 列表的路径(.txt) |
--output 或 |
python3 scan.py --input targets.csv --iocfile ioc_list.txt --output results.csv --verbose
该脚本会为每个主机打印一个结果块:
__________________________________
✅ Target 1 : 192.168.1.10:50000
Connection: Online
Status: Not Vulnerable
IOC: None detected
__________________________________
| 图标 | 含义 |
|---|---|
| ✅ | 安全(无漏洞,无 IOC) |
| ❗ | 存在漏洞,但未发现 IOC |
| 💥 | 存在漏洞且检测到 IOC |
| ❌ | 主机不可达 / 连接失败 |
如需在本地测试,可运行一个模拟存在漏洞的 SAP 系统的 Python HTTP 服务器:
mkdir -p test/developmentserver
mkdir -p test/irj
echo "" > test/developmentserver/metadatauploader
echo "<%-- fake webshell --%>" > test/irj/cache.jsp
cd test
python3 -m http.server 8000
在 targets.csv 中添加:
0.0.0.0;8000;false
本工具仅用于授权的安全测试和研究。请勿对你不拥有或未经明确许可的系统进行扫描。
如有建议或改进意见,请提交 issue 或提交 PR。
本项目采用 MIT 许可证 授权。
你可以自由使用、修改和分发它——无论是商业用途还是私人用途。
免责声明:
本工具按原样提供,不附带任何担保或保证。
作者不对因使用本工具而造成的任何损害或法律问题负责。
请仅在拥有明确授权的环境中扫描和测试系统。
-o| 将结果保存为 CSV |
--verbose 或 -v | 启用详细的调试输出 |