Jeecg Boot SQL注入漏洞总结 漏洞概述 漏洞编号:#9491 漏洞类型:SQL注入 (SQL Injection) 受影响版本:Jeecg Boot <= v3.9.1 漏洞位置: 接口 漏洞成因:后端代码将用户传入的 参数直接拼接到 MyBatis 的 片段中,导致 SQL 注入。 影响范围 权限要求:低权限认证用户(Low-privileged authenticated user)。 危害:攻击者可以利用盲注(Blind SQL Injection)推断非白名单敏感列(如 表中的 和 ),从而获取凭证材料。 防御绕过:默认配置下的签名机制(Sign layer)被硬编码密钥保护,攻击者可伪造有效签名。 修复方案 1. 代码层面:替换字典搜索条件中的字符串拼接,改用参数化查询(Parameterized queries)。 2. 输入限制:限制字典搜索输入为预期搜索字符的严格白名单,拒绝引号、布尔运算符和 SQL 函数语法。 3. 权限控制:在 及相关字典接口上强制实施服务端授权,仅限内部用户访问。 4. 密钥管理:从源代码默认配置中移除签名密钥,并使用安全生成的密钥轮换机制。 POC / 利用代码 验证默认种子数据的谓词: True condition (返回非空结果): False condition (返回空结果): 枚举密码哈希值的条件构造: