WebLogic任意文件上传漏洞 CVE-2018-2894 分析

2018-07-20 15:04 WebLogic WEB安全 漏洞分析

0x00 概述

Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中包含一个高危的Weblogic未授权任意文件上传漏洞(CVE-2018-2894)

0x01 影响范围

Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3。
该漏洞的影响模块为web服务测试页,在默认情况下不启用。
受影响的页面为/ws_utc/config.do和/ws_utc/begin.do

0x02 启用Web 服务测试页

通过测试在10.3.6版本上未发现该功能。
登录控制台-》配置-》高级-》勾选启用Web服务测试页 -》保存

0x03 漏洞复现

  • 上传点一,打开下面的URL,点击右上角的齿轮,
    通过导入测试用例进行上传,前端提示出错,文件已经上传成功

http://ip:7001/ws_utc/

恶意文件已成功上传

  • 上传点二,打开下面的URL。点击左边的安全,添加

通过上传JKS Keystores文件来上传恶意文件
http://ip:7001/ws_utc/config.do


  • 更改当前的工作目录进行利用
    由于上传目录不在Web目录无法执行恶意代码,通过切换工作目录切换到相关web目录下即可,

访问http://ip:7001/ws_utc/config.do

将原来的

xxxxxxxxxxxxxx\user_projects\domains\base_domain\tmp\WSTestPageWorkDir

修改成

xxxxxxxxxxxxxx\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls_internal\9j4dqk\war
  • 重新上传,目录已经改变

0x04 漏洞成因分析

在ws-testpage-impl.jar/com.oracle.webservices.testclient.ws.res.WebserviceResource 类中存在importWsTestConfig方法

跟进 RSdataHelper的convertFormDataMultiPart方法
接下来调用convertFormDataMultiPart方法,文件直接由字段 文件名拼接而成,没有任何限制。

ws-testpage-impl.jar!/com/oracle/webservices/testclient/ws/util/RSDataHelper.class:164

0x05 绕过生产模式进行利用(需要登录)

在前面import方法中如果运行在生产模式将报错。
能不能上传成功关键在convertFormDataMultiPart方法,发现下面的invokeWebServiceByMultiPart没有检查生产模式
另外通过../跨目录,可以不用切换工作目录。

作者:斗象能力中心TCC-ICE

评论(2)

3calgary

2023/01/25 23:32
3braxton

2uninteresting

2022/09/02 20:15
3amphitheatre

发表评论

captcha