- 目录
- 1. 序章
- 2. 计算机网络与协议
- 3. 信息收集
- 4. 常见漏洞攻防
- 5. 语言与框架
- 6. 内网渗透
- 7. 云安全
- 8. 防御技术
- 9. 认证机制
- 10. 工具与资源
- 11. 手册速查
- 12. 其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.3. JWT
9.3. JWT
9.3.1. 简介
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
9.3.2. 构成
分为三个部分,分别为header/payload/signature。其中header是声明的类型和加密使用的算法。payload是载荷,最后是加上 HMAC(base64(header)+base64(payload), secret)
9.3.3. 安全问题
9.3.3.1. Header部分
- 是否支持修改算法为none/对称加密算法
- 删除签名
- 插入错误信息
- 直接在 header 中加入新的公钥
- kid字段是否有SQL注入/命令注入/目录遍历
- 结合业务功能通过kid直接下载对应公私钥
- 是否强制使用白名单上的加密算法
- JWKS 劫持
- JKU (JWK Set URL) / X5U (X.509 URL) 注入
9.3.3.2. Payload部分
- 其中是否存在敏感信息
- 检查过期策略,比如
exp
,iat
9.3.3.3. Signature部分
- 检查是否强制检查签名
- 密钥是否可以爆破
- 是否可以通过其他方式拿到密钥
9.3.3.4. 其他
- 重放
- 通过匹配校验的时间做时间攻击
- 修改算法RS256为HS256
- 弱密钥破解
9.3.4. 参考链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论