一、漏洞背景
CNCERT发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,随后Oracle官方发布了关键补丁更新CPU(Critical Patch Update),其中针对可造成远程文件上传的高危漏洞 CVE-2018-2894 进行修复:http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html。
二、漏洞概要
谁应该读这个 |
Oracle WebLogic Server 的开发者和用户 |
---|---|
漏洞的影响 |
WebLogic 管理端未授权的页面存在任意上传getshell漏洞,可直接获取权限。 |
危害程度评分 |
9.8 分 |
建议 |
升级到官方最新版本。 |
受影响的软件 |
Oracle WebLogic Server, 版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3 |
CVE 标识符 |
CVE-2018-2894 |
三、搭建环境
安装漏洞影响范围内的Weblogic版本:10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3。
启动服务器,访问http://localhost:7001/ws_utc/config.do
修改当前工作目录Work Home Dir为:C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3\cmprq0\war
选择左边菜单栏中的安全选项按钮后,点击添加Keystore设置。
输入Keystore名字后,选择文件上传按钮添加任意文件,名字可以为空格替代。
通过抓包可获得上传的路径为:http://localhost:7001/ws_utc/resources/setting/keystore?timestamp=1535682238190,上传后的路径为时间戳_文件名格式,在此处我把文件名进行重命名,并修改上传目录。
抓返回包和查看真实目录可发现文件已上传成功。
测试已上传文件jfolder.jsp。
四、触发条件
1.需要知道部署应用的web目录。
2. ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。具体可见Oracle® Fusion Middleware Administering Web Services
五、漏洞分析
分析更改目录函数,发现该函数未做任何限制。
从getKeyStorePath()获取到所要写入路径。
把所选的上传文件传到了storePath目录里,文件命名条件为fileNamePrefix + “_” + attachName,采用了POST请求中URL地址上携带的参数timestamp的值加上下划线拼接起来的文件名,同时也没有发现有任何过滤和检查。
六、修复建议
1.设置Config.do、begin.do页面登录授权后访问;
2.IPS等防御产品可以加入相应的特征;
3.升级到官方最新版本。
七、参考链接
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
https://mp.weixin.qq.com/s/y5JGmM-aNaHcs_6P9a-gRQ
关注我们
Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号:
来源:freebuf.com 2019-06-10 16:51:58 by: TideSec
请登录后发表评论
注册