8.Structs 2-057漏洞复现
Posted bmjoker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.Structs 2-057漏洞复现相关的知识,希望对你有一定的参考价值。
漏洞信息:
定义XML配置时如果namespace值未设置且上层动作配置(Action Configuration)中未设置或用通配符namespace时可能会导致远程代码执行。
url标签未设置value和action值且上层动作未设置或用通配符namespace时可能会导致远程代码执行。
官方解决方案:
升级至版本2.3.35或2.5.17。这两个版本仅仅只是更新了安全补丁,不存在兼容性问题。
临时解决方案:
推荐用户及时更新,但如果不想更新,可暂时使用官方提供的临时解决方案:当上层动作配置中未设置或使用通配符namespace时,
验证所有XML配置中的namespace,同时在JSP中验证所有url标签的value和action。
影响范围 |
所有Struts2开发者及用户 |
---|---|
漏洞影响 |
有可能会导致远程代码执行 |
最高安全风险 |
关键 |
推荐防护措施 |
更新至2.3.35或2.5.17 |
影响版本 |
Struts 2.3 – Struts 2.3.34, Struts 2.5 – Struts 2.5.16 其余版本也可能会受到影响 |
漏洞报告人 |
Man Yue [email protected] Security Research team |
CVE编号 |
CVE-2018-11776 |
漏洞复现:
这里使用 docker-compose 和 vulnhub 来搭建漏洞利用环境,
使用的漏洞来自: https://github.com/vulhub/vulhub
本机使用的是Ubuntu系统,克隆vulhub,并且进入到漏洞文件中:
git clone https://github.com/vulhub/vulhub
cd vulhub/struts2/s2-048
启动漏洞环境并查看容器:
docker-compose up -d
docker ps -a
在容器里面开启一个交互模式的终端:
docker exec -i -t <你上面显示的CONTAINER ID>
/bin/bash
根据公告 https://struts.apache.org/releases.html
发现Struts 2.5.16存在s2-057漏洞,然后去下载这个版本,来复现漏洞:
https://fossies.org/linux/www/legacy/struts-2.5.16-all.zip/
apt-get update -y
mkdir /usr/local/tomcat/webapps/test
wget https://fossies.org/linux/www/legacy/struts-2.5.16-all.zip
apt-get install unzip -y
unzip struts-2.5.16-all.zip
cp struts-2.5.16/apps/struts2-showcase.war /usr/local/tomcat/webapps/
以上是关于8.Structs 2-057漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章