BUUCTF-[WebLogic]CVE-2018-2894(任意文件上传漏洞)
漏洞描述
WebLogic管理端未授权的页面存在任意上传getshell漏洞,可直接获取权限。
漏洞地址:/ws_utc/begin.do、/ws_utc/config.do
默认端口:7001
影响版本
WebLogic :10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3
漏洞复现-方法1
1、打开靶场,看到一个Weblogic的默认404页面。
2、(本步骤是漏洞形成原理分析,靶场测试不需要进行这一步)访问后台登录地址/console/login/LoginForm.jsp,输入账号密码weblogic/weblogic1(密码靶场已给)登录系统,登录后在 base_domain 中的 高级 里面设置启用 WEB服务测试页 ,然后保存。如上配置后,就是漏洞存在的环境。如果管理员这样设置后,那么对应版本的weblogic即会存在任意文件上传漏洞。攻击者无需登录,即可上传shell了。
3、访问/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目录,访问这个目录是无需权限的,这一点很重要。
4、然后来到设置中的 安全 ,点击 添加 ,上传shell。同时抓包,查看返回响应,获取上传的时间戳。或者提交后右键-检查,找到id后面的时间戳,后面有用。
5、此时shell的位置为:/ws_utc/css/config/keystore/[时间戳]_[文件名]。使用冰蝎客户端连接 http://node5.buuoj.cn:27088/ws_utc/css/config/keystore/1751532358243_shell.jsp,密码是默认连接密码rebeyond,即可获得 webshell。
漏洞复现-方法2-使用工具WeblogicTool_1.3.jar
下载地址:https://github.com/KimJun1010/WeblogicTool/releases/tag/v1.3
1、工具检查,靶场存在CVE-2018-2894漏洞。
2、执行命令env,打印环境变量,找到flag。
修复建议
1.设置Config.do、begin.do页面登录授权后访问
2.IPS等防御产品可以加入相应的特征
3.升级到官方最新版本