一、什么是WebLogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
二、漏洞描述
Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,进而获取服务器权限。Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在 ‘生产模式’ 下默认不开启,所以该漏洞有一定限制,漏洞存在页面在/ws_utc/config.do。
三、受影响的版本
weblogic 10.3.6.0、weblogic 12.1.3.0、weblogic 12.2.1.2、weblogic 12.2.1.3。
四、启动vulhub里的weblogic服务
执行docker-compose logs | grep password可查看管理员密码,
管理员用户名为weblogic,密码为pJS5DLCb
环境启动之后,访问http://192.168.100.23:7001/console,即可看到后台登录页面
登录后台页面,点击base_domain的配置,在 ‘高级’ 中勾选 ‘启用 Web 服务测试页’ 选项,然后保存配置。
访问http://172.17.0.1:7001/ws_utc/config.do,设置Work Home Dir为
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
访问这个目录是无需权限的,这一点很重要。
然后点击 ‘安全’ -> ‘添加’ ,然后上传冰蝎马
抓包
访问http://192.168.100.23:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell
漏洞复现完成后记得移除靶场环境:docker-compose down //要进入另一个漏洞靶场,则先要结束掉当前漏洞靶场
五、漏洞防御
1、 设置config.do,begin.do页面登录授权后访问;
2、 IPS等防御产品可以加入相应的特征;
3、 升级到官方的最新版本;
参考文章:
https://www.cnblogs.com/rab3it/p/11113431.html
https://blog.csdn.net/atw63792/article/details/102287315