apache-ofbiz-CVE-2023-51467漏洞分析

admin 2024年2月9日01:25:34评论24 views字数 1528阅读5分5秒阅读模式

apache-ofbiz-CVE-2023-51467漏洞分析

漏洞简介

Apache OFBiz是一套足够灵活的业务应用程序,可以在任何行业中使用。通用架构允许开发人员轻松扩展或增强它以创建自定义功能。

该漏洞存在于apache-ofbiz产品18.12.11版本以下版本。利用该漏洞的攻击者可能会绕过身份验证来实现RCE。

影响范围

Apache-Ofbiz  < 18.12.11

漏洞分析

认证绕过

通过版本分析,发现新版本主要修改有两个位置,一个是去掉了url中的..符号。我们都知道,这个符号通常用来表示上级目录。

apache-ofbiz-CVE-2023-51467漏洞分析

另一个是修改了判断账号密码的方式。

apache-ofbiz-CVE-2023-51467漏洞分析

可以看到,在旧版本中使用了==来比较密码username、password、token等变量是否为空。

然而,编码语言的等号运算又有强弱之分。==属于弱相等,特点如下:

1.如果两个值具有相同的类型,那么就检测它们的等同性。如果这两个值完全相同,它们就相等。如果它们不完全相同,则它们不相等。

2.如果两个值的类型不同,它们仍然可能相等。用下面的规则和类型转换来检测它们的相等性:

01.如果一个值是null,另一个值是undefined,它们相等。

02.如果一个值是数字,另一个值是字符串,把字符串转换为数字,再用转换后的值进行比较。

03.如果一个值为true,将它转化为1,再进行比较。如果一个值为false,把它转化为0,再进行比较。

04.如果一个值是对象,另一个值是数字或字符串,将对象转换成原始类型的值,再做比较。可以使用对象的toString()方法或 valueOf()方法把对象转化成原始类型的值。JavaScript核心语言的内部类通常先尝试valueOf()方法转换,再尝试toString()方法转换,但是对于Date类,则先执行toString()方法再执行valueOf()方法转换。

那么,旧版本的判断方法,是存在绕过可能。

当然,认证绕过的关键并不是这几个参数,我们接着往下看。修改点涉及认证的几个函数:checkLogin、login。

最关键的修改点是函数的返回值,如下位置:

apache-ofbiz-CVE-2023-51467漏洞分析

看看变量requirePasswordChange是怎么来的。类型为布尔类型,从web请求同名参数中获取。也就是说我们可以直接控制。那么我们也就可以控制login函数的返回值了。

apache-ofbiz-CVE-2023-51467漏洞分析

每次访问需要授权的后台接口时,都会通过checkLogin进行权限检查。如果账号密码的值为nulllogin的返回结果不等于"error",就跳过了认证检查。

apache-ofbiz-CVE-2023-51467漏洞分析

通过前边的分析,我们完全可以控制这里参与的所有变量。

其实username、password直接留空,值为空,就可以使条件判断为false,设置requirePasswordChangeY,就可以直接走下边的代码流程,最终返回success

apache-ofbiz-CVE-2023-51467漏洞分析

命令执行

有了认证绕过,就可以访问后台所有的接口功能了。这个应用后台漏洞挺多的,有SSRF、任意代码执行等等。这里直接挑一个最严重的任意代码执行导致任意命令执行漏洞分析。

在后台web管理工具-> 导入/导出 -> 编程导出处,可知执行受限的Groovy代码。截图中看到并没有什么限制,那么我为什么说受限那?

apache-ofbiz-CVE-2023-51467漏洞分析

先来执行个系统命令看看,弹个计算机是没问题的。实战中,不可能只运行计算机吧?

apache-ofbiz-CVE-2023-51467漏洞分析

当我执行whoami的时候,报错了。

apache-ofbiz-CVE-2023-51467漏洞分析

通过一番代码跟踪,发现系统对执行的代码进行了一些限制。代码中不能出现以下单词。其实绕过也很简单,只需要进行unicode编码即可。

apache-ofbiz-CVE-2023-51467漏洞分析

漏洞复现

apache-ofbiz-CVE-2023-51467漏洞分析

修复建议

更新至最新版本:

https://ofbiz.apache.org/download.html


原文始发于微信公众号(闲聊知识铺):apache-ofbiz-CVE-2023-51467漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月9日01:25:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   apache-ofbiz-CVE-2023-51467漏洞分析https://cn-sec.com/archives/2416339.html

发表评论

匿名网友 填写信息