一、利用docker启动测试环境
搭建环境:
docker-compose up -d
查看weblogic后台登录密码:docker-compose logs | grep password
二、复现过程
漏洞成因:weblogic管理端未授权的两个页面存在任意文件上传getshell漏洞,可直接获取webshell。
影响版本:WebLogic :10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3
漏洞地址:/ws_utc/begin.do、/ws_utc/config.do
默认端口:7001
复现:
1、启动docker后,访问后台登录地址:http://192.168.1.129:7001/console/login/LoginForm.jsp
2、输入账号密码,密码课通过在docker中执行docker-compose logs | grep password 获取
3、登录后在 base_domain 中的 高级 里面设置启用 WEB服务测试页 ,然后保存。
如上配置后,就是漏洞存在的环境。
如果管理员这样设置后,那么对应版本的weblogic即会存在任意文件上传的问题。
设置好以后,无需登录,即可上传shell了,
4、访问http://192.168.220.129:7001/ws_utc/config.do
将当前工作目录改为其他目录(/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css),然后提交保存。
5、然后来到设置中的 安全 ,点击 添加 ,通过浏览上传shell即可;
6、点击提交的同时使用burp抓包,并设置抓取返回包,获取上传的时间戳
7、此时shell的位置为:http://192.168.220.129:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
结果如下:
修复建议:文章来源:https://www.toymoban.com/news/detail-401824.html
(1)设置config.do,begin.do页面登录授权后才能访问
(2)更新产品版本,安装安全补丁文章来源地址https://www.toymoban.com/news/detail-401824.html
到了这里,关于weblogic 任意文件上传漏洞 (CVE-2018-2894)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!