繁体   English   中英

能够访问 API,而 JWT 访问令牌的 Header 部分中没有任何值

[英]Able to access an API without having any values in Header part of JWT Access Token

我正在测试一个 web 应用程序,它使用 OAuth 机制来授权和访问 API。 OAuth 使用 RS256 算法对令牌进行签名。 I noticed that I am still able to access the API when I pass the JWT token with null 'Header' value and without 'Verify Signature' section in JWT token.

示例:原始 JWT 令牌 - <header>.<payload>.<signature>
修改后的 JWT 令牌 - .<payload>

根据标准安全最佳实践,header 不应接受“无”算法,推荐算法应为 HS256 或 RS256。 但在上述情况下,API 以 null header 值成功授权。 我什至尝试在 header 中使用“无”算法,但仍然接受 API。

这是一个安全问题,因为该算法未在 API 中验证? 我想知道攻击者如何利用这种情况来利用 API。

如果您正在更改 header 部分或签名部分(例如不发送它们),并且 API 仍然接受令牌,那么这意味着 API 不验证所有签名。 这意味着您可以将任何内容放入有效负载中,在 base64 中进行编码,并且 API 将接受它作为有效令牌。

这不是“安全问题”,只是完全错误的实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM