跳到主要内容

Weblogic

weak_password

通过任意文件读取漏洞, 拿到登录凭证的密钥和密文, 使用基于 WebLogic 内部库 weblogic.security.internal.SerializedSystemIni 开发的工具还原。

1. 测试任意文件读取

  • 通过 http://192.168.30.129:7001/hello/file.jsp?path=/etc/passwd 测试任意文件读取漏洞

2. 下载密钥文件

  • 二进制流形式下载密钥文件
  • 路径在 /root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
  • 修改后缀为.dat

3. 获取核心配置文件

  • 密文存储在 config.xml
  • 路径在 /root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml
  • 搜索 <node-manager-password-encrypted>

4. 本地离线解密

weblogic 解密工具

CVE-2018-2894

/ws_utc/config.do 页面存在文件上传漏洞

1. Web Service Test Page

  • 生产环境下默认关闭, 登录 /console 页面可手动开启, 默认用户名weblogic, 密码通过后台日志 docker logs weblogic | grep password 查看

  • 在根域名下 配置 栏的 高级 选项中通过可开启 Web Service Test Page, 配置后保存

2. 上传文件

  • 访问 /ws_utc/config.do 页面, 配置 Work Home Dir/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css 指定文件上传目录, 然后提交

  • 开启抓包后, 点击 安全, 选择 添加, 上传文件; 上传文件后响应包返回 时间戳

3. Getshell

  • 文件上传后访问路径为 /ws_utc/css/config/keystore/[时间戳]_[文件名]