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. 本地离线解密
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/[时间戳]_[文件名]