漏洞总结:Shopizer 存储型 XSS 漏洞 漏洞概述 Shopizer 存在多个 REST API 端点(如 、 等)存在存储型跨站脚本(XSS)漏洞。攻击者可以通过在 JSON 请求体中注入恶意 JavaScript 载荷,绕过后端的 XSS 过滤器。这些载荷会被持久化到数据库中,并在通过 GET 请求获取数据时以原始形式返回,从而在受害者的浏览器中执行任意 JavaScript。 影响范围 受影响版本:版本 ≤ 3.2.5(披露时的最新版本)。 影响角色:低权限管理员(如 角色)可以注入载荷,而超级管理员(或任何用户)在访问前端页面渲染该类别数据时,脚本将在其浏览器上下文中执行。 潜在后果:攻击者可以窃取超级管理员的会话令牌,或以其名义执行特权操作。 修复方案 1. 重写输入流和读取器:在 类中重写 和 方法,以读取、清理并重新包装 JSON 请求体,在 Spring 反序列化层之前进行 HTML 清理。 2. 启用安全响应头:在 Spring Security 配置中添加 、 、 和 等安全响应头。 3. 注册 XSS 过滤器:为所有 URL 模式注册 XSS 过滤器,包括 。 POC 代码 1. 发送恶意 PUT 请求 2. 发送 GET 请求观察响应 3. 根因分析代码 4. 模型类代码