漏洞利用前提
- 影响版本
- 启用web服务测试页(某些版本需要开启,才能复现成功)
漏洞利用方法
复现环境: phith0n的dockerhttps://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2894
由于使用的是别人的搭好的环境,所以我们需要知道weblogic后台的密码,使用如下命令查看:
docker-compose logs | grep password
我们使用用户名密码登录后台,看下是否开启了web服务测试页,phith0n这个环境是没有开启的
但是依旧可以利用成功(由此可见不同版本会有差异)
服务启动后,访问 http://localhost: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:
然后看下响应,记住这个时间戳,因为最后的文件名就是 时间戳_文件名
然后访问 http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
,即可执行webshell(我这里就随便传一个html代替了)
注:Web Service Test Page 在“生产模式”下默认不开启,所以该漏洞有一定限制。ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。具体可见Oracle® Fusion Middleware Administering Web Services
修复方案
受影响的用户可根据以下链接进行更新修复:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
痕迹分析
直接查看http日志