Tomcat常见漏洞汇总

admin 2026-07-02 05:23:56 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文汇总了ApacheTomcat常见安全漏洞,包括示例目录泄露、弱口令、后台getshell及AJP任意文件读取包含漏洞(CVE-2020-1938)。文章提供了资产测绘语法、漏洞复现步骤、利用工具及修复建议,强调弱口令可导致服务器被控制,AJP漏洞影响广泛需及时更新版本。 综合评分: 75 文章分类: 漏洞分析,渗透测试,红队,内网渗透,WEB安全


之后看另一边的监听成功获得了shell

使用漏洞检测工具检测

漏洞修复

1.更新到安全版本 Apache Tomcat 7.0.100 Apache Tomcat 8.5.51 Apache Tomcat 9.0.31 https://tomcat.apache.org/download-70.cgi https://tomcat.apache.org/download-80.cgi https://tomcat.apache.org/download-90.cgi 或Github下载:https://github.com/apache/tomcat/releases 2.关闭AJP服务,修改Tomcat配置文件Service.xml,注释掉 3、配置ajp配置中的secretRequired跟secret属性来限制认证

Tomcat 任意文件写入漏洞 (CVE-2017-12615)

本漏洞源于Tomcat服务器配置不当,属于非默认安全配置缺陷。在conf/web.xml配置文件中,readonly参数被显式设置为false,导致允许通过HTTP PUT方法上传任意文件至服务器。

尽管该配置对上传文件的扩展名进行了限制(如禁止上传.jsp后缀文件),攻击者仍可能通过上传其他类型恶意文件(如JSPX、WAR包或特定脚本文件),或结合其他技术手段实现任意代码执行。

需特别说明的是,Tomcat默认配置中readonly值为true,此时禁止使用PUT/DELETE等方法进行文件操作。一旦将其设置为false,即开启了可通过HTTP方法直接操控服务器文件系统的危险能力,显著增加了系统被恶意攻击的风险。

影响版本

主要影响的是Tomcat : 7.0.0-7.0.81

漏洞复现

开启环境,并且查看配置文件conf/web.xml中的readonly是否设置为false

可以看到这里Tomcat 设置了写入权限(readonly=false),这导致了我们可以将文件写入服务器的结果。

成功运行上述命令后,通过访问网站看到 Tomcat 的示例页面。

浏览器进行访问

http://192.168.86.129:8080/

刷新抓包可以看到是GET方法,进行修改

修改为PUT方法

显示201说明上传成功,去靶机里面查看

Tomcat 在一定程度上检查了文件后缀(不能直接写 jsp),直接上传导致报错,但我们还是可以通过一些文件系统功能绕过限制。

方法一:使用斜杠/,斜杠在文件名中是非法的,所以会被去除(Linux和Windows中都适用)

上传成功

方法二:首先使用%20绕过。%20对应的是空格,在windows中若文件这里在jsp后面添加%20即可达到自动抹去空格的效果。

方法三:使用Windows NTFS流,在jsp后面添加::$DATA

统一进行查看

发现前两个可以上传成功但是第三个不可以因为第三个windows才可以我的是centos7

使用工具进行漏洞检测

漏洞修复

设置 readonly未true

Tomcat 拒绝服务漏洞/CVE-2020-13935

Tomcat 在处理 WebSocket 协议时存在缺陷,其相关组件未对传入的请求数据包进行有效的长度校验。攻击者可利用此缺陷,构造并发送一个经过特殊设计的恶意 WebSocket 请求帧。当服务器处理此异常数据包时,会触发处理逻辑进入无法跳出的无限循环状态,持续耗尽服务器CPU资源,最终导致Tomcat服务完全停止响应,形成拒绝服务(Denial of Service)攻击。

影响版本

9.0.0.M1~9.0.36 10.0.0-M1~10.0.0-M6 8.5.0~8.5.56 7.0.27~7.0.104

漏洞复现

靶机 vulhub:cve-2020-1938

在windows上进行工具的编译

CVE-2020-13935-master

执行go build 即可

访问地址 http://192.168.86.129:8080/

http://192.168.86.129:8080/examples/websocket/echo.xhtml

有这个页面就有存在漏洞的可能

在靶机上查看cpu的利用率

然后使用刚才编译号的工具进行攻击

.\tcdos.exe ws://192.168.86.129:8080/examples/websocket/echoStreamAnnotation

这里一直转圈

靶机内部cpu直接被打满

Apache Tomcat曝高危路径遍历漏洞(CVE-2025-55752)

该漏洞允许攻击者通过构造特制的HTTP请求,绕过安全限制非法读取Web应用目录之外的敏感文件(如配置文件、系统文件),从而导致严重的信息泄露风险,该漏洞源于Tomcat在处理某些特定类型的静态资源请求或JSP请求时,对用户输入的URL路径规范化处理存在缺陷。攻击者可以利用../等路径遍历序列(或其编码形式)来突破Web应用的根目录限制,过发送一个包含特殊路径序列的请求,攻击者能够访问并下载位于WEB-INF/目录下的web.xml、classes文件夹中的源代码等受保护文件,甚至遍历至服务器文件系统的其他敏感位置。

影响版本

Apache Tomcat 11.x:11.0.0-M1 ≤ 版本 < 11.0.11 Apache Tomcat 10.x:10.1.0-M1 ≤ 版本 < 10.0.45 Apache Tomcat 9.x:9.0.0-M1 ≤ 版本 < 9.0.109

利用条件

1.已启用RewriteValve组件 必须在Tomcat的server.xml或应用上下文中明确配置并启用org.apache.catalina.valves.rewrite.RewriteValve重写阀门。该组件非Tomcat默认启用,是其必备前置条件。

2.重写规则存在逻辑缺陷 所配置的RewriteValve规则中需存在“可被利用的逻辑缺口”,例如规则集未能对请求路径进行严格过滤或存在绕过可能。需要注意的是,部分严格定义的重写规则可能会在事实上阻断漏洞利用路径。

启用文件修改类HTTP方法 3.需在Web应用配置中启用PUT等支持文件上传或修改的HTTP方法,或直接启用了WebDAV功能。这是实现远程代码执行的最终必要条件,为攻击者上传恶意载荷提供了通道。

漏洞复现

通过curl工具发送包含路径遍历字符的请求,尝试访问/WEB-INF/web.xml

curl -i “http://127.0.0.1:8080/download?path=%2FWEB-INF%2Fweb.xml”

返回HTTP 200状态码,并成功获取web.xml文件内容,则说明利用成功

<?xml version="1.0" encoding="UTF-8"?> Protected descriptor used to demonstrate CVE-2025-55752 traversal. RewriteTraversalDemo

Tomcat 远程代码执行(CVE-2019-0232)

CVE-2019-0232是一个存在于Apache Tomcat中的高危远程代码执行漏洞。该漏洞源于Tomcat在Windows平台下启用CGI Servlet时,对命令行参数的处理存在缺陷,允许攻击者注入并执行任意操作系统命令,从而完全控制受影响服务器。

影响版本

Apache Tomcat 9.0.0.M1 to 9.0.17

Apache Tomcat 8.5.0 to 8.5.39

Apache Tomcat 7.0.0 to 7.0.93

必要条件 操作系统为Windows,并在conf/web.xml中取消了对CGI Servlet的注释(即启用了CGI功能)。

Tomcat反序列化漏洞(cve-2016-8735)

CVE-2016-8735是Apache Tomcat中存在的一个高危远程代码执行漏洞。该漏洞源于Tomcat所使用的JmxRemoteLifecycleListener组件在反序列化JMX数据时未进行安全限制,与著名的Java反序列化漏洞(CVE-2015-4852)原理类似,允许攻击者通过构造恶意的序列化数据在目标服务器上执行任意代码。

影响版本

Apache Tomcat 9.0.0.M1 -9.0.0.M11

Apache Tomcat 8.5.0 -8.5.6

Apache Tomcat 8.0.0.RC1 – 8.0.38

Apache Tomcat 7.0.0 – 7.0.72

Apache Tomcat 6.0.0 – 6.0.47

必要条件:在server.xml中配置并启用了JmxRemoteLifecycleListener服务。

工具推荐

afrog

afrog.exe -s tomcat -pl

常用参数

-s #指定漏洞类型 -S #指定等级 -pl #列出相关poc -T #指定多个目标文件 -t 指定单个目标

Tomcatscan

总结

在网络安全的世界里,停止学习就意味着落后,共勉!

后台回复加群加入交流群


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:陌笙不太懂安全 zm zm《Tomcat常见漏洞汇总》

评论:0   参与:  0