WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
一、漏洞描述
Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在“生产模式”下默认不开启,所以该漏洞有一定限制。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do。
二、漏洞影响版本
Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3
三、漏洞复现以及环境搭建
1、使用docker环境搭建vulhub环境
2、执行如下命令启动weblogic服务
cd vulhub/weblogic/CVE-2018-2894/
docker-compose build
docker-compose up -d
3、环境启动之后,访问:7001/console,即可看到后台登录页面
4、执行docker-compose logs | grep password可查看管理员密码,管理员用户名为weblogic,密码为DMZkS7RT
5、登陆后台页面,点击base_domain的配置,在”高级”中开启”启用 Web 服务测试页”选项,然后保存配置
6、访问: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
7、然后点击“安全”->”添加”,然后上传jsp大马
8、审查元素,查看时间戳
9、访问:7001/ws_utc/css/config/keystore/1562558927056_mkzy.jsp
10.输入jsp大马密码
四、漏洞防御
1、 设置config.do,begin.do页面登录授权后访问
2、 IPS等防御产品可以加入相应的特征
3、 升级到官方的最新版本
参考链接: https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2894