关键信息 信息 软件类型: Web App 软件名称: Zen-Cart 受影响版本: 2.1.0 软件供应商: Zen Ventures, LLC 软件链接: https://github.com/zencart/zencart 严重性: 高 CVSS评分: 7.2 CVE链接: N/A 受影响资产: 30171+ 发现日期: 2025年1月9日 PoC漏洞利用: https://gist.github.com/0xHamy/b2674eefdd1f73a96d29f152c47bcbd 描述 ZenCart有一个有趣的功能,允许管理员更改整个网站用于编辑页面或产品的文本编辑器,并给他们两个选择:“纯文本”编辑器和“CKEditor”。 问题是CKEditor允许从链接插入图像,SVG图像在ZenCart中默认被黑名单。如果你尝试上传SVG文件,你会得到错误,但你仍然可以通过CKEditor的“通过URL插入图像”功能插入SVG文件。 实际上,你还可以插入.php恶意cookie窃取器,应用程序会将其视为图像,这会导致网页加载时立即触发。 再现步骤 要重现此问题,我将使用PHP cookie窃取器脚本来演示如何利用此漏洞窃取cookie。 保存以下文件为capture.php: https://gist.github.com/0xHamy/b2674eefdd1f73a96d29f152c47bcbd 启动PHP服务器以提供此文件: 要重现此问题,请将文本编辑器的类型从纯文本更改为CKEditor。你可以通过[index.php?cmd=define_pages_editor]进行此更改。 完成后,打开一个产品进行编辑,URI可能看起来像这样: 点击CKEditor中的“通过URL插入图像”图标。一个小窗口将出现,要求输入图像链接,但没有过滤器确保用户仅使用此功能插入图像而不是其他内容。 在这个小窗口中,你可以放入指向你的php cookie窃取器的完整链接,在我的情况下是: 现在你可以访问该产品并检查你的PHP服务器以查看cookie日志: 此外,以下payload也有效: