1、搭建struts2漏洞环境

安装前的准备工作:

# 安装git

yum install -y git-core 

# 安装docker

yum install -y docker-ce

# 下载docker-compose

wget https://github.com/docker/compose/releases/download/1.20.1/docker-compose-Linux-x86_64
chmod +x docker-compose-Linux-x86_64
mv ./docker-compose-Linux-x86_64 /opt/

Struts2漏洞复现_Struts2

# 建立用户路径

mkdir /opt/docker

# 下载漏洞库

cd /opt/docker
git clone https://github.com/vulhub/vulhub

Struts2漏洞复现_S2-032漏洞复现_02

# 此处利用s2-032漏洞

cd struts2/s2-032
/opt/docker-compose-Linux-x86_64 up -d                      # 安装docker image

Struts2漏洞复现_K8_Struts_Exp_03

# 启动docker镜像

docker ps -a                                                      # 获取s2-032的CONTAINER ID
docker exec -i -t s2-032的CONTAINER ID /bin/bash

Struts2漏洞复现_K8_Struts_Exp_04

Struts2漏洞复现_漏洞复现_05

# 执行到这一步,就已经进入到容器的环境里面咯;

# 环境搭建完毕;

Struts2漏洞复现_S2-032漏洞复现_06

2、利用K8工具来获得靶机的shell

我在反复试过jexboss工具,始终未能找到漏洞信息,无奈专用K8,不知是什么原因:

Struts2漏洞复现_S2-032漏洞复现_07

所以这边就用K8做演示了;

Struts2漏洞复现_S2-032漏洞复现_08

3、Docker 镜像的关闭与删除

# 关闭镜像

/opt/docker-compose-Linux-x86_64 down               # 还是在s2-032目录下执行哦

Struts2漏洞复现_K8_Struts_Exp_09

# 删除镜像

docker images                         # 获取image id
docker rmi a883bb5e54d8      # 移除a883bb5e54d8对应的镜像
docker images                         # 检查

Struts2漏洞复现_S2-032漏洞复现_10