复制代码

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控制台:
 
 

应为是本地搭建环境,所以在登陆日志中寻找登陆密码:docker-compose logs | grep password

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

正常的环境是判断是否存在weblogic弱口令,或者根据版本信息来读取敏感文件,比如,或者
后台用户密文与密钥文件,或者就像登陆日志logs之类的,来得到登陆密码。
 
得到用户名密码后,我们尝试登陆后台页面,点击base_domain的配置,
在“高级”中开启“启用 Web 服务测试页”选项:

保存配置

访问 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目录,访问这个目录是无需权限的,这一点很重要。

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

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

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

刷新可看到的确上传成功

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

成功get webshell

 

漏洞需要满足条件:

  • 需要知道部署应用的web目录
  • ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。具体可见Oracle® Fusion Middleware Administering Web Services
posted @ 2018-10-21 16:26  bmjoker  阅读(4223)  评论(0编辑  收藏  举报