vulhub Tomcat靶场攻略

一:CVE-2017-12615

 漏洞描述

当 Tomcat运⾏在Windows操作系统时,且启⽤了HTTP PUT请求⽅法(例如,将 readonly初始化参数由默认值设置为false),攻击者将有可能可通过精⼼构造的攻击请求数据包向服务器上传包含任意代的 JSP ⽂件,JSP⽂件中的恶意代码将能被服务器执⾏。导致服务器上的数据泄露或获取服务器权限。

漏洞原理

当在Tomcat的conf(配置⽬录下)/web.xml配置⽂件中添加readonly设置为false时,将导致该漏洞产 ⽣,(需要允许put请求) , 攻击者可以利⽤PUT⽅法通过精⼼构造的数据包向存在漏洞的服务器⾥⾯上传 jsp⼀句话⽂件,从⽽造成远程命令执⾏,getshell等。

影响范围

Apache Tomcat 7.0.0 - 7.0.79

Apache Tomcat 8.5.19

环境搭建

cd vulhub-master/tomcat/CVE-2017-12615

docker-compose up -d

漏洞复现

http://172.16.1.59:8080

1.首页抓包,修改为 PUT 方式提交 ,将jsp木马写到数据包中

Tomcat允许适⽤put⽅法上传任意⽂件类型,但不允许jsp后缀⽂件上传,因此我们需要配合 windows的

解析漏洞:

PUT /shell.jsp%20

PUT /shell.jsp::$DATA

PUT /shell.jsp/

2.Webshell客户端⼯具进行连接

http://172.16.1.67:8080/shell.jsp

二:tomcat8后台弱⼝令部署war包

漏洞原理

在tomcat8环境下默认进⼊后台的密码为 tomcat/tomcat ,未修改造成未授权即可进⼊后台,或者管理员把密码设置成弱⼝令。

影响版本

全版本(前提是⼈家存在弱⼝令)

环境搭建

8cd vulhub-master/tomcat/tomcat8

docker-compose up -d

漏洞复现

http://47.113.231.0:8080/manager/html

默认密码:tomcat/tomcat

1.制作WAR包,上传

将JSP⽊⻢压缩为ZIP格式,然后修改后缀为war就可以了。

2.文件上传成功后,默认会在网站根目录下生成和war包名称⼀致得目录,然后目录中得木马就是压缩前的文件名,Webshell客户端⼯具进⾏连接

http://47.113.231.0:8080/shell/shell.jsp

三:CVE-2020-1938

漏洞原理

由于Tomcat AJP协议设计上的缺陷,攻击者通过Tomcat AJP Connector 可以读取或包含Tomcat上所有Webapp⽬录下的任意⽂件,例如:

可以读取webapp配置⽂件或源码⽂件。

此外如果⽬标应⽤有⽂件上传的功能情况下,配合为⽂件包含漏洞利⽤GetShell。

影响版本

Apache Tomcat 6

Tomcat 7系列 <7.0.100 Tomcat 8系列 < 8.5.51 Tomcat 9 系列 <9.0.31

环境搭建

cd vulhub-master/tomcat/CVE-2020-1938

docker-compose up -d

漏洞复现

tomcat默认的conf/server.xml中配置了2个Connector,⼀个为 8080 的对外提供的HTTP协议端⼝,另外⼀个就是默认的 8009 AJP协议端⼝,两个端⼝默认均监听在外⽹ip。

POC:

python cve-2020-1938.py -p 8009 -f /WEB-INF/web.xml 47.113.231.0

### 安装和配置Vulhub漏洞练习平台 #### 准备工作环境 为了确保顺利安装并运行 Vulhub,在 Ubuntu 上需先更新系统软件包列表,并安装 Docker 和 Docker Compose,因为 Vulhub 是基于这两个工具构建的。 ```bash sudo apt-get update && sudo apt-get upgrade -y ``` #### 安装Docker引擎 按照官方文档指导完成 Docker 的安装过程[^1]: ```bash curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER newgrp docker ``` #### 安装Docker Compose 下载最新版本的 Docker Compose 并设置执行权限[^2]: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d '"' -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` #### 获取Vulhub项目源码 克隆 Vulhub GitHub 仓库至本地机器上以便后续操作[^3]: ```bash git clone https://github.com/vulhub/vulhub.git ~/vulhub cd ~/vulhub ``` #### 启动特定漏洞场景服务 进入想要启动的服务目录,例如针对 Tomcat 漏洞测试,则切换到 `tomcat` 文件夹下,通过命令行启动容器集群[^4]: ```bash cd tomcat/CVE-2017-12615/ docker-compose up -d ``` 这会自动拉取所需镜像并初始化相应的网络和服务实例。对于其他类型的漏洞实验(如 ImageMagick 或 Rsync),只需替换上述路径即可重复相同的操作流程来准备不同的攻击面模拟环境。 #### 验证部署成功与否 打开浏览器或者利用命令行工具验证目标应用是否正常运作以及存在预期的安全缺陷。比如检查 Tomcat 是否允许未经身份验证上传 WAR 文件等功能特性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值