目录
一、漏洞描述
环境描述:
Tomcat 支持后台部署 war 文件,可以直接将 webshell 部署到 web 目录下。tomcat 默认的管理页面 manager 使用 basic 认证用户名和密码登录,可以使用 burp 爆破,若管理员安装后不修改 /conf/tomcat-users.xml 文件,则可以使用默认用户名和密码 tomcat : tomcat 登录管理后台,再部署 war 包后 tomcat 默认会将 war 包中的项目部署,因此达到任意文件上传,可以将 jsp 木马文件打包成 war 包进行上传 getshell
二、靶场搭建
拉取vulhub靶场:clone https://github.com/vulhub/vulhub.git
进入 tomcat/tomcat8 中,首先构建镜像
docker-compose build

开启镜像
docker-compose up -d

开启后查看映射到了哪个端口中

三、漏洞复现
1、弱密码
点击 Manager App 进入后台管理界面

这里存在的是一个弱密码,直接输入 tomcat : tomcat 即可
也可以尝试暴力破解,具体方法遵守社区规定不方便展出
2、文件上传
进入后台管理界面后,观察后台页面,发现一个上传 war 文件的地方

WAR(Web Application Archive) 是 Java Web 应用程序的标准打包格式,专为部署到 Servlet 容器 (如 Tomcat、Jetty)而设计。它本质上是一个压缩文件(扩展名为
.war
),遵循特定的目录结构,包含 Web 应用的所有代码、资源及配置。
这里我将冰蝎生成的一段默认的 jsp 木马转换成 war 包

上传 war 包 getshell ,上传成功后会多出一个路径

访问该路径下的木马文件,若有回显则说明上传成功

再利用冰蝎连接该木马文件 getshell ,默认密码为 rebeyond

进入后成功拿到shell
