漏洞简介:
WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do。利用该漏洞,可以上传任意jsp文件,进而获取服务器权限。
影响版本:
Weblogic 10.3.6.0,Weblogic 12.1.3.0,Weblogic 12.2.1.2,Weblogic 12.2.1.3
漏洞环境:
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2894
运行:docker-compose up -d
启动weblogic 12.2.1.3
环境启动后,访问http://your-ip:7001/console
,即可看到后台登录页面
执行docker-compose logs | grep password
可查看管理员密码:XtmuO9q0
登录后台页面,点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项:
漏洞复现:
访问http://your-ip: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目录,访问这个目录是无需权限的,这一点很重要。
点击安全–>添加,随便输入一个名字密码,点击提交;
使用burp抓取数据包,可以看见返回的数据包,其中有时间戳:
http://your-ip:7001/ws_utc/css/config/keystore/[时间戳][文件名],即可执行webshell:
上面上传了好多个木马都执行不了,最后还是用一句话木马试试,使用工具连接木马:
触发条件:
1.需要知道部署应用的web目录。
2.ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。
修复建议:
1.设置Config.do、begin.do页面登录授权后访问;
2.IPS等防御产品可以加入相应的特征;
3.升级到官方最新版本
参考连接:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2894