Apache OFBiz 17.12.03及以前版本XMLRPC反序列漏洞详解与修复方法

项目介绍

Apache OFBiz 17.12.03及以前版本XMLRPC反序列漏洞详解与修复方法

Apache OFBiz是一个非常著名的电子商务平台,也是一个非常著名的开源项目,提供了构建大中型企业级、跨平台、跨数据库、跨应用服务器的基于Web的多层系统的能力最新的 J2EE/XML 规范和技术标准。 ,分布式电子商务WEB应用系统的框架。 OFBiz的主要特点是OFBiz提供了一整套用于开发基于Java的Web应用程序的组件和工具。包括实体引擎、服务引擎、消息引擎、工作流引擎、规则引擎等。

项目地址

漏洞概述

Apache OFBiz 17.12.03 及之前版本中存在由 XMLRPC 导致的脱序漏洞。官方会在后续版本中加强相关接口并修复该漏洞,但修复方法存在绕过问题(CVE-2023-49070)。攻击者仍然可以利用反序列化漏洞在目标服务器中执行任意命令。

受影响的版本

Apache OFBiz< 18.12.10

环境设置

下载vulhub后,进入CVE-2023-49070目录,直接执行docker compose up -d命令。

漏洞重现

1.利用CommonsBeanutils1链构建恶意paylod

java -jar ysoserial.jar CommonsBeanutils1“触摸/tmp/成功”| 64 位 | tr -d "\n"

2.使用以下poc

3.命令执行成功

漏洞分析

该漏洞的根本原因是xmlrpc组件的反序列​​化漏洞。不过,由于 xmlrpc 不再更新和维护,Apache OFBiz 项目组决定删除相关代码。问题已完全修复,之前的补丁代码已被删除。

事实上,CVE-2023-49070是对历史漏洞CVE-2020-9496的绕过。 CVE-2020-9496的修复补丁如下。它仅验证 Filter 中漏洞的 uri 和内容。

不过这个补丁是可以被绕过的,因为OFBiz使用了tomcat中间件,而tomcat支持/control/xmlrpc;/格式的uri,所以if条件不成立,被成功绕过。

但绕过该补丁后,仍然需要登录才能利用,这就涉及到另一个身份验证绕过漏洞。验证码如下。当代码返回成功以外的结果时,将返回登录页面。

在checklogin函数中,有以下逻辑。只要不满足以下任何一个条件,就会返回成功。

由于用户名和密码可以由用户控制,因此登录函数中有如下逻辑

因此,构造一个URL,格式为/xxxx/?USERNAME=&PASSWORD=&requirePasswordChange=Y,使认证函数返回success,从而绕过认证。结合上面的分析,可以实现preauth-rce。

参考链接

结尾

过去的亮点

七巧班说道:

作为国内专注于开源组件管理和威胁情报服务的创新科技公司,棱镜多彩全新推出七巧板平台,免费提供一站式开源安全合规测试和开源评估服务。该平台专注于国内最主流的开源软件的开发。帮助开源行业的安全和合规性的方向。欲了解更多信息,请访问:

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

25阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

27阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

23阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读