漏洞总结 漏洞概述 该漏洞涉及 JWT 认证绕过,由两个缺陷引起: 1. 硬编码 JWT 密钥: 使用硬编码的默认密钥 ,导致所有默认部署共享相同的密钥。 2. 自比较逻辑: 在验证令牌时,将令牌中提取的密码与自身进行比较,导致验证总是返回 。 影响范围 攻击者可以伪造任何用户的有效 JWT,而无需知道实际密码。 所有使用默认配置的部署都受到影响。 修复方案 1. 移除硬编码密钥:在 中移除硬编码的默认密钥,并在启动时自动生成随机密钥。 2. 修正验证逻辑:在 中,将令牌密码与数据库中的 BCrypt 哈希进行比较,而不是与令牌自身的密码进行比较。 3. 配置密钥:在 中添加 配置项,以便用户发现并配置自定义密钥。 POC 代码