WebLogic 任意文件上传漏洞 CVE-2018-2894
影响范围
- 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 | #下载vulhub源代码 |

查看管理后台密码
1 | docker-compose logs | grep password |

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

进入后台

点击 base_domain,接着点击高级

启用 web 服务测试页并保存

访问 http://靶机 ip:7001/ws_utc/config.do,并设置 Work Home Dir
1 | #手动设置并提交 |

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

用 burpsuite 抓取提交的数据包

发送到 Repeater 模块

发送后记录时间戳,即 id

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

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

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

进入

成功 getshell

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Johan的秘密小窝!
评论