发布于 

CVE-2018-2894(WebLogic任意文件上传)

1. 漏洞描述

Weblogic管理端未授权的两个页面存在任意文件上传漏洞,通过这两个页面可以获取到服务器权限。这两个页面分别是/ws_utc/begin.do/ws_utc/config.do 。利用这两个页面可以上传任意jsp文件,从而获取到服务器权限。

2. 影响版本

  • Weblogic 10.3.6.0
  • Weblogic 12.1.3.0
  • Weblogic 12.2.1.2
  • Weblogic 12.2.1.3

3. 漏洞复现

3.1 进入后台登录

image-20221019134011388

3.2 查看靶场密码

Web Service Test Page在“生产模式”下默认不开启,所以该漏洞有一定限制。

1
docker-compose logs | grep password

image-20221019134058942

3.3 进入管理后台

image-20221019134357788

在后台页面左侧“域结构 ”中点击“base_domain”,在右侧下滑页面中点击“高级 ”-“启用Web服务测试页

3.4 开启Web服务测试页

image-20221019144756988

image-20221019144831067

image-20221019144918432

image-20221019145138763

3.5 设置当前工作目录

访问http://your-ip:7001/ws_utc/config.do 页面,并修改“Work Home Dir ”为如下目录提交,这样设置的目的是将目录设置为“ws_utc ”应用的css静态文件目录,而访问这个目录不需要权限的:

1
2
# /u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

image-20221019145441889

image-20221019145659897

3.6 上传WebShell

在上一个页面的左侧点击安全-添加,上传jsp木马。

image-20221019150455762

我们这里用的是冰蝎 的webshell。

通过Burp Suite 抓取返回的包获得时间戳,需要将时间戳与文件名结合访问

image-20221019151052465

image-20221019151337062

这里获取的时间戳为1666163602760

3.7 查看结果

访问http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]

image-20221019151617581

冰蝎

image-20221019151916872

4. 漏洞分析

5. 修复建议

关闭Web服务测试页面能够有效避免该漏洞