我们 正在 . NET 6.0 中 使用 Azure 广告 授权 。 存在 算法 类型 不能 为 空 的 严重 漏洞 。
这里 的 guide 解释 了 为什么 这 是 一 个 严重 的 漏洞 ( 大声 向 作者 寻求 详细 解释 )
这 是 我们 的 实现 :
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(configuration);
app.UseAuthentication();
app.UseAuthorization();
中 的 每 一 个
我们 遇到 的 所有 引用 都 要求 验证 签名 。 现在 我们 不 使用 任何 密钥 或 证书 通过 生成 随机 HSA 或 RSA 密钥 来 验证 签名 。 有点 被 这个 漏洞 卡住 了 。
2条答案
按热度按时间mutmk8jj1#
该 库 将 使用 RSA 密钥 验证 令牌 。 它 会 在 应用 启动 时 自动 加载 公钥 , 例如 https://login.microsoftonline.com/common/discovery/v2.0/keys 。 这些 公钥 用于 验证 令牌 的 签名 。 它 不会 接受 没有 签名 的 令牌 , 除非 你 覆盖 这些 设置 。 ( 至少 它 真 的 不 应该 )
xggvc2p62#
我们 必须 手动 检查 算法 是否 为 " 无 " 。 以下 是 我们 从 安全 团队 获得 通过 的 实现 :
中 的 每 一 个