13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

时间:2023-03-08 23:34:31
13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现
Weblogic任意文件上传漏洞(CVE-2018-2894)复现

漏洞背景

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/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。

漏洞详情

http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixFMW

漏洞复现
本次漏洞环境是用docker搭建的,环境启动后,访问Weblogic控制台:
13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

应为是本地搭建环境,所以在登陆日志中寻找登陆密码:docker-compose logs | grep password
13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

可得登陆用户名密码为:weblogic/eZh6Cefm

正常的环境是判断是否存在weblogic弱口令,或者根据版本信息来读取敏感文件,比如,或者

后台用户密文与密钥文件,或者就像登陆日志logs之类的,来得到登陆密码。
得到用户名密码后,我们尝试登陆后台页面,点击base_domain的配置,
在“高级”中开启“启用 Web 服务测试页”选项:
13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

保存配置

访问 http://192.168.0.132: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。

我将目录设置为 ws_utc 应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要。

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

然后点击安全 -> 增加,然后上传webshell:

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

点击提交之后,可是使用Burpsuite拦截返回的数据包来寻找返回的时间戳ID

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

也可以通过浏览器的调试台来寻找返回的时间戳ID。F12打开调试台。

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

刷新可看到的确上传成功

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

然后访问:http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

成功get webshell

漏洞需要满足条件:

  • 需要知道部署应用的web目录
  • ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。具体可见Oracle® Fusion Middleware Administering Web Services