"/>
声 明 本文由Tide安全团队成员“Tide”首发于FreeBuf TideSec专栏: https://zhuanlan.freebuf.com/column/index/?name=TideSec 文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 一、漏洞背景CNCERT发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,随后Oracle官方发布了关键补丁更新CPU(Critical Patch Update),其中针对可造成远程文件上传的高危漏洞 CVE-2018-2894 进行修复: http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html 二、漏洞概要
三、搭建环境安装漏洞影响范围内的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 E N D guān 关 zhù 注 wǒ 我 men 们 Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。 想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或长按二维码关注公众号: ![]() 上一篇:关于“薇晓朵”最近被人暗戳戳刷搜索下拉词和服务器受到攻击的情况说明. 下一篇:使用DNS-SD和SSDP扫描内网主机 |