# Apache OFBiz 身份验证绕过导致远程代码执行 CVE-2024-38856 ## 漏洞描述 Apache OFBiz 是一个开源的企业资源规划(ERP)系统。它提供了一套企业应用程序,用于集成和自动化企业的许多业务流程。 这个漏洞是由于对 CVE-2023-51467 的不完全修复而产生的。在 Apache OFBiz 18.12.11 版本中,开发人员认为他们已经修复了该漏洞,但实际上他们只解决了其中一种利用方法。Groovy 表达式注入仍然存在,允许未经授权的用户在服务器上执行任意命令。 参考链接: - https://github.com/apache/ofbiz-framework/commit/31d8d7 - https://forum.butian.net/article/524 - https://github.com/Praison001/CVE-2024-38856-ApacheOfBiz - https://issues.apache.org/jira/browse/OFBIZ-13128 ## 漏洞影响 ``` Apache OFBiz < 18.12.14 ``` ## 网络测绘 ``` app="Apache_OFBiz" ``` ## 环境搭建 Vulhub 执行如下命令启动一个 Apache OfBiz 18.12.10 服务器: ``` docker compose up -d ``` 在等待数分钟后,访问 `https://your-ip:8443/accounting` 查看到登录页面,说明环境已启动成功。 如果非本地 localhost 启动,Headers 需要包含 `Host: localhost`,否则报错: ``` ERROR MESSAGE org.apache.ofbiz.webapp.control.RequestHandlerException: Domain your-ip not accepted to prevent host header injection. ``` ![](images/Apache%20OFBiz%20身份验证绕过导致远程代码执行%20CVE-2024-38856/image-20240918155911393.png) ## 漏洞复现 Apache Ofbiz 限制了如下一些关键词的使用,可以通过 Unicode 编码来绕过这个限制,比如 `\u0065xecute`: ``` deniedWebShellTokens=java.,beans,freemarker,