文章总结: TomcatScan是一款集成Tomcat漏洞检测工具,支持检测CVE-2017-12615、CNVD-2020-10487及CVE-2024-50379等漏洞。具备弱口令爆破、WAR包部署WebShell及AJP文件包含攻击功能。基于Python3.6开发,通过配置文件可自动化执行攻击链,适用于安全人员进行Tomcat服务安全验证与渗透测试。 综合评分: 75 文章分类: 安全工具,漏洞POC,WEB安全,渗透测试
Tomcat 弱密码检测与漏洞利用集成工具
ZapcoMan
W小哥
2025年12月22日 18:00 中国香港
TomcatScan 代码使用说明文档
目录
- 项目简介
- 环境配置
- 代码结构
- 主要功能
- 使用方法
- 配置文件
- 常见问题
- 支持漏洞
- 免杀
- 其他功能和作者语
项目简介
TomcatScan这是一个用于检测 Tomcat 服务器漏洞的工具,支持以下主要功能:
- 检测 CVE-2017-12615 和 CNVD-2020-10487 漏洞。
- 进行弱口令检测。
环境配置
确保你的环境中已安装 Python 3.6 及以上版本,并安装所需的依赖库。可以通过以下命令安装所有依赖:
pip install -r requirements.txt
依赖库包括 , , 等。requests``yaml``bs4
代码结构
项目目录结构如下:
E:\python\Python_project\TomcatScan\
├── common\
│ └── common.py
├── config.yaml
├── README.md
├── model\
├── Tomcat\
│ ├── constants.py
│ └── Tomcat.py
├── pocs\
│ └── CVE_2024_50379.py
├── AjpBodyRequest.py
├── AjpForwardRequest.py
├── AjpResponse.py
└── NotFoundException.py
└── TomcatScan.py
每个文件的主要功能如下:
-
common/common.py
: 提供通用工具函数。
-
config.yaml
: 配置文件,包含线程池、重试机制、 CVE-2020-1938(CNVD-2020-10487) 漏洞检测等配置信息。
-
README.md
: 项目的使用说明文档。
-
model/Tomcat/constants.py
: 定义常量,用于AJP请求的准备。
-
model/Tomcat/Tomcat.py
: 实现与 Tomcat 服务器的连接和请求处理。
-
model/AjpBodyRequest.py
: 处理 AJP Body 请求的序列化和发送。
-
model/AjpForwardRequest.py
: 处理 AJP Forward 请求的创建、序列化和解析。
-
model/AjpResponse.py
: 解析 AJP 响应数据。
-
model/NotFoundException.py
: 自定义异常类。
-
POC/CVE_2024_50379.py
: CVE_2024_50379 POC EXP 脚本
-
TomcatScan.py
: 主程序逻辑,负责加载配置、初始化资源并启动漏洞检测流程。
主要功能
1. CVE-2017-12615 漏洞检测
-
工具支持三种利用方式:
PUT /1.jsp/PUT /1.jsp%20PUT /1.jsp::$DATA -
成功上传后,工具会尝试访问并执行上传的 JSP 文件,判断是否能远程执行代码。
-
对每种利用方式的结果分别记录成功或失败状态。
** 2.CVE-2020-1938/CNVD-2020-10487 (AJP 协议本地文件包含漏洞)**
- 工具利用 AJP 协议进行本地文件包含(LFI)攻击,默认读取 WEB-INF/web.xml 文件,但文件路径和判断条件可以通过配置文件灵活调整。
- 支持对目标文件中的关键字(例如 “Welcome”)进行自定义判断,确定文件读取成功与否。
- 检测到文件包含成功后,详细记录成功的 URL 和读取到的敏感文件路径。
2. 弱口令检测
- 支持通过用户名与密码组合进行弱口令暴力破解。
- 若登录成功,工具会自动尝试上传 WebShell 文件,提供远程管理和代码执行能力。
- 登录成功以及 WebShell 上传的结果都会详细记录在日志文件中。
3. 后台部署 WAR 包 getshell
- 在弱口令破解成功后,工具会尝试通过 Tomcat 管理后台上传 包,以获取远程代码执行权限。
WAR - 部署的 包会自动在服务器上解压并生成 JSP Shell 文件,访问该文件后便可以获取 Shell 权限。
WAR - 支持通过配置文件自定义文件的内容。
Shell
** 4.Apache-Tomcat条件竞争致远程代码执行漏洞(CVE-2024-50379) **
-
由于 Apache Tomcat 在路径校验逻辑中存在缺陷,当在不区分大小写的系统(如 Windows)上启用了 default servlet 的写入功能(默认关闭)时,攻击者可构造恶意请求绕过路径一致性检查,从而可能上传 webshell 并造成远程代码执行。漏洞利用需要条件竞争,对网络以及机器性能环境等有一定要求。
-
利用条件竞争致远程代码执行漏洞(CVE-2024-50379)
-
利用成功后 windows 电脑 会打开 计算器 或者访问地址 也会打开 计算器
-
代码中注释的部分 是 打开计算器,现在 则是可以直接将木马种进去 和 CNVD-2020-10487 (AJP 协议本地文件包含漏洞) 一样 是 哥斯拉的 jsp 木马文件
-
影响版本:
-
Apache Tomcat 11.0.0-M1到11.0.1
-
Apache Tomcat 10.1.1.0 – m1到10.1.33
-
Apache Tomcat 9.0.0。M1到9.0.97
使用方法
- 准备包含URL、用户名和密码的文本文件,分别命名为、和。
urls.txt``user.txt``passwd.txt urls.txt保存格式:https://127.0.0.1/ 或者 https://127.0.0.1/manager/html 脚本会自行判断检测- 在中配置文件路径和其他设置。
config.yaml - 运行脚本,将会在文件中记录成功利用漏洞信息。
success.txt
python TomcatScan.py
关注公众号回复“20251222”获取工具地址。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:W小哥 ZapcoMan《Tomcat 弱密码检测与漏洞利用集成工具》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论