关键信息 漏洞描述 类型: 存储型XSS(通过SVG文件上传) 产品: XunRuiCMS v4.7.1 影响的产品 产品: XunRuiCMS 版本: 4.7.1 组件: Admin/Files/Library/Upload.php (PHP代码易受攻击) CWE: CWE-79: 不正确中和输入到Web页面中(跨站脚本) 技术细节 受影响的代码: 中的SVG处理部分。 漏洞原因: SVG图像未被正确检查,允许嵌入恶意JavaScript代码。 概念验证 (PoC) SVG代码: 步骤: 1. 将上述SVG代码保存为SVG文件并上传。 2. 访问上传的SVG文件时,触发XSS攻击。 影响 1. 可以执行任意JavaScript代码。 2. 盗取敏感信息如Cookie。 3. 执行拒绝服务攻击。 4. 潜在地访问更多服务器资源。 漏洞代码分析 中处理SVG文件的部分存在漏洞,未对SVG内容进行充分检查和过滤。 修复建议 1. 对上传的SVG文件进行严格的检查和过滤。 2. 考虑使用Content Security Policy (CSP)来限制JavaScript的执行。 3. 更新SVG处理库到最新版本。 4. 使用安全的SVG渲染库,避免直接解析用户上传的内容。 5. 禁用不必要的功能,减少攻击面。 时间线 2023-08-08: 漏洞被发现。 2023-08-08: 漏洞报告提交给厂商。 [未来日期]: 厂商发布修复补丁。 [未来日期]: CVE编号分配。 参考资料 1. [CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')] 2. [OWASP XSS Prevention Cheat Sheet] 3. [SVG Security Considerations] 4. [XunRuiCMS Official Repository]