关键信息 漏洞描述 漏洞类型: 存储型XSS漏洞 受影响产品: Metinfo CMS 8.0版本 组件: File Upload Functionality ( ) CMS功能: 产品管理模块中的图片上传功能 技术细节 发现过程: 通过本地PHPStudy环境和管理员权限访问产品管理模块,利用SVG文件上传功能进行测试。 关键步骤: - 上传包含恶意JavaScript代码的SVG文件。 - SVG文件被系统接受并存储在服务器上。 - 当用户访问包含该SVG文件的页面时,恶意脚本被执行。 Proof of Concept (PoC) 示例SVG文件内容: 结果: 成功触发XSS攻击,弹出警告框。 漏洞代码分析 问题点: 文件中对上传的SVG文件内容缺乏有效的验证和清理。 具体步骤: 1. 获取上传的SVG文件内容。 2. 保存潜在的恶意内容到数据库。 3. 在前端页面生成时,直接输出未处理的SVG内容。 影响 风险: 1. 增加其他跨站脚本攻击的风险。 2. 泄露敏感信息。 3. 执行未经授权的操作。 4. 潜在的远程代码执行风险。 修复建议 措施: 1. 增强文件上传组件的安全性,进行内容验证和清理。 2. 移除SVG文件中的危险元素和属性。 3. 考虑将SVG转换为安全的图像格式(如PNG、JPEG)。 4. 实施严格的Content Security Policy (CSP)策略。 5. 保存SVG文件时使用MIME类型防止内容混淆。 时间线 2023-06-22: 漏洞发现。 2023-06-22: 与厂商沟通并确认漏洞。 (Future Date): 漏洞修复并发布补丁。