影响范围

  • Oracle WebLogic Server: 12.1.3.0.0
  • Oracle WebLogic Server: 12.2.1.2.0
  • Oracle WebLogic Server: 12.2.1.3.0

漏洞类型

任意文件上传

操作系统限制

配置要求

  • 端口 7001 对外开放
  • WebLogic 管理控制台勾选启用测试服务

漏洞利用

文件上传

利用原理

WebLogic 包含一个用于测试 Web 服务的组件 wls-testclient,攻击者无需登录管理控制台直接访问/ws_utc/config.do,该页面允许用户设置工作目录,且缺乏权限校验,攻击者可以将路径篡改到 WebLogic 的 Web 公开目录,修改完路径后,攻击者可以上传恶意 jsp 文件,文件名为系统时间戳_文件名.jsp,该文件可以通过 HTTP 协议直接被外界请求并触发执行,通过木马可以获取服务器控制权

漏洞复现

现成的 vulhub 来拉取镜像

1
2
3
4
5
6
#下载vulhub源代码
git clone https://github.com/vulhub/vulhub.git
#进入漏洞目录
cd vulhub/weblogic/CVE-2018-2894
#拉取镜像
docker-compose up -d

1773401004204

查看管理后台密码

1
docker-compose logs | grep password

1773401044654

访问 http://靶机 ip:7001/console/login/LoginForm.jsp,并输入密码登录

1773401075195

进入后台

1773401095721

点击 base_domain,接着点击高级

1773401129211

启用 web 服务测试页并保存

1773401433793

访问 http://靶机 ip:7001/ws_utc/config.do,并设置 Work Home Dir

1
2
#手动设置并提交
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

1773401473616

点击安全,点击添加,名字密码随便填,文件选择 jsp 木马文件,可以用哥斯拉生成的 jsp

1773401494892

用 burpsuite 抓取提交的数据包

1773401542369

发送到 Repeater 模块

1773401610671

发送后记录时间戳,即 id

1773401854032

访问 http://靶机 ip:7001/ws_utc/css/config/keystore/ 文件名,文件名字为时间戳_文件名.jsp,可以正常访问

1773401899842

使用哥斯拉连接,url 即上面地址,有效载荷改 JavaDynamicPayload

1773401922542

测试连接为成功,点击添加

1773401951208

进入

1773402000056

成功 getshell

1773402022542