WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)

本文详细分析了OracleWebLogic服务器的两个未授权页面存在的高危漏洞,介绍了漏洞流程,包括如何利用begin.do和config.do页面上传文件,并给出了防御策略。作者建议升级到最新版本并实施登录授权保护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 前言

CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分。鉴于厂商已进行了安全修复,笔者对该漏洞进行了一次分析。WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do;漏洞的影响范围 Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3;相关链接: CPU July 2018  , 下文笔者从这两个文件入手来系统调试跟踪找出漏洞产生的原理和位置。

0x02 漏洞流程

笔者首先访问了一下 http://IP/ws_utc/config.do  并且将默认的目录WSTestPageWorkDir修改了为 user_projects\domains\base_domain\tmp\sd\  如下图

工作台设置一个新的目录后,weblogic会将原来目录下的子目录和文件一起转移到新设定的目录下,但旧的目录依然保留。因为不是重点,笔者对这块的分析就此略过。笔者从攻击者的维度简单的画了一个草图,最初攻击者肯定需要配置工作目录,因为默认的工作目录在URL访问的时候不可达,然后攻击者考虑是从config.do页面上传keystore文件还是从begin.do上传,最终都是成功上传小马,只是小马的访问格式和路径不尽相同。如下图

如果要从原理上彻底搞清楚weblogic漏洞产生的过程还需要看下图,简单的描述一下,攻击者开始攻击后,Weblogic在服务端做了很多的判断,如果设定了新的工作目录,那么程序会自动拷贝所有旧目录下的子目录和文件到新的设定目录里,并且设定新的目录作为工作目录,如果攻击者通过begin.do上传的话,Weblogic在服务端会判断有没有upload目录,如果不存在会自动创建,再接着在upload目录下创建Rs_Upload_格式化后的作为目录名,紧接着获取到import_file_name字段名作为后续的文件名拼接的一部分;如果通过config.do上传的话就获取GET请求中的timestamp参数作为后续webshell的文件名中的一部分,还是看下图吧:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dot.Net安全矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值