问题描述
我们在应用程序中使用 OpenIDConnect 进行身份验证和授权。生成的 ID 令牌为 JWT 格式,并以 httpOnly 模式存储在 cookie 中。
我们有一个渗透测试发现他们提取了 SESSIONID 字段。它的价值是 JWT。与所有 JWT 实现一样,它以 base64 编码并且可以轻松解码。因此,可以看到有效载荷部分中的值。他们告诉我们这是一个安全问题。
我的问题是:
-
Pentest 的发现让我感到困惑,因为 Base64 编码是 JWT 的标准,而且我们已经在我们的连接中使用了 HTTPS。所以,我不明白如何将有效载荷中的值暴露给他人?
-
我也读到 JWT 有可能被加密(JWE - JSON Web 加密),如果是这种情况并且 base64 编码是一种弱编码和漏洞,为什么我们不加密所有 JWT取而代之?
问题不在于是否容易被篡改。它关于暴露的有效载荷的内容(根据渗透测试人员)。我的问题是,如果它在带有 httponly 的 cookie 中,这怎么仍然是一个漏洞?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)