WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现

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、环境启动之后,访问http://172.17.0.1:7001/console,即可看到后台登录页面

  

4、执行docker-compose logs | grep password可查看管理员密码,管理员用户名为weblogic,密码为DMZkS7RT

  

5、登陆后台页面,点击base_domain的配置,在”高级”中开启”启用 Web 服务测试页”选项,然后保存配置

  

 

6、访问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

  

7、然后点击“安全”->”添加”,然后上传jsp大马

  

8、审查元素,查看时间戳

  

9、访问http://172.17.0.1: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