一、什么是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。
四、环境搭建
https://vulhub.org/#/environments/rsync/common/
五、漏洞复现
cd vulhub/weblogic/CVE-2018-2894 进入漏洞文件夹
docker-compose up -d 启动环境
启动成功,我们访问一下 http://your-ip:7001/console 看看是否搭建成功
成功搭建,因为任意文件上传漏洞在/ws_utc/config.do页面下,所以我们访问该页面http://your-ip/ws_utc/config.do
因为上文提到利用该漏洞有一定的限制,所以我们还需要准备一下我们的环境。
首先我们执行一下docker-compose logs | grep password查看一下管理员账号和密码
这里账号为weblogic密码为Ny1Nb2ug,然后回到我们的console界面用账号密码登陆
点击base_domain
然后点击高级
再把启用 Web 服务测试页这个勾给勾选上,然后点击保存。
现在可以访问我们的未授权页面,将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 因为访问这个目录不需要权限,这一点非常关键。然后点击提交。
这个时候我们需要配置的东西已经全部完成,可以开始上传文件了。
点击安全
然后点击添加
这里我上传的是一个冰蝎的jsp木马,抓包,点击提交,为什么要抓包呢,因为包里面有一个时间戳,连接木马的时候要用上。
这个为时间戳,且已经上传成功
然后连接的路径为http://you-ip/ws_utc/css/config/keystore/[时间戳]_[文件名],打开冰蝎
连接成功!