Tomcat漏洞复现
发布时间:2024年01月03日
tomcat是一个开源而且免费的jsp服务器,属于轻量级应用服务器。它可以实现JavaWeb程序的装载,是 配置JSP(Java Server Page)和JAVA系统必备的一款环境。
CVE-2012-12615
- tomcat任意文件写入漏洞
- 漏洞成因:Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致我们可以往服务器写文件。如果配置了默认servlet,则在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操作系统上的潜在危险的CVE-2017-12615漏洞。
- 使用环境:vulhub靶场
- 启动环境:docker-compose up -d

- 可以看到Tomcat配置/conf/web.xml配置了可写(readonly=false)
docker exec -it 3775672ab87f /bin/bash
cat conf/web.xml | grep readonly

- 登陆网页抓包,修改请求方式为put,写入冰蝎Jsp木马getshell


- 修复建议:将readonly=true,默认为true。
CVE-2020-1938
- tomcat文件包含漏洞
- 漏洞成因:由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
- 使用环境:vulhub靶场
- 启动环境:docker-compose up -d
- 漏洞复现:
- tomcat默认的conf/server.xml中配置了2个Connector,一个为8080对外提供HTTP协议的端口,另外一个就是默认的8009 AJP协议端口,两个端口默认均监听在外网ip


- tomcat在接收AJP请求的时候调用org.apache.coyote.ajp.AjpProcessor来处理AJP消息,prepaerRequest将AJP里面的内容取出来设置成request对象的Attribute属性。可以通过此种特性从而可以控制request对象的下面三个Attribute属性
- javax.servlet.include.request_uri
- javax.servlet.include.path_info
- javax.servlet.include.servlet_path
- 再通过控制ajp控制的上述三个属性来读取文件,通过操控上述三个属性从而可以读取到应用目录下的任 何文件。
- 使用攻击payload执行即可

- 漏洞修复:
- 更新到安全版本
- 关闭AJP服务,修改tomcat配置文件Service.xml,注释掉

- 配置AJP中的secretRequired跟secret属性来限制认证
tomcat弱口令 && war远程部署
tomcat 7+权限
- manager(后台管理)
- manager-gui (拥有html页面权限)
- manager-status (拥有查看status的权限)
- manager-script (拥有text接口的权限,和status权限)
- manager-jmx (拥有jmx权限,和status权限)
- host-manager(虚拟主机管理)
- admin-gui (拥有html页面权限)
- admin-script 拥有text接口权限
- 漏洞描述:在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令,
- 使用环境:vulhub靶场
- 启动环境:docker-compose up -d
- 漏洞复现:
- 输入弱口令tomcat/tomcat进行登录
- 将木马文件压缩成zip格式,将zip后缀名改为war后缀进行上传


- 上传会自动解压用客户端进行连接即可获取,使用冰蝎连接木门地址。

- 修复建议
- 设置强口令 conf/tomcat-user.xml

- 取消manager/html功能。若要使用,manager页面应只允许本地IP访问
文章来源:https://blog.csdn.net/weixin_45910629/article/details/135325923
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!