JWT认证缺陷导致的越权

admin 2024年10月21日15:52:16评论16 views字数 782阅读2分36秒阅读模式

前言:JWT(JSON Web Token)是一种用于双方之间传递安全信息的简洁的、URL安全的表示方法。JWT可以使用HMAC算法或使用RSA的公钥/私钥对进行签名。JWT的结构由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。用.进行分隔;头部包含了描述令牌类型和所使用的加密算法的元数据;载荷包含了要传输的数据,如用户ID、角色和其他相关的声明信息;签名是对头部和载荷进行签名生成的,用于验证令牌的真实性和完整性。

在JWT的使用过程中,可能会遇到一个安全问题:即使用空的签名。在JWT中,签名部分是可选的,如果不需要进行签名验证,可以留空。

1.某次挖洞过程中,发现系统使用了jwt进行鉴权:

JWT认证缺陷导致的越权

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVzZXJzX2lkIjozfQ.i4fy8ebMDna72TgijA2t0AsNB6F6_hdVZcLAd22qsAs

JWT认证缺陷导致的越权

尝试将签名删除(即把第二个.后面的内容删除),重新发送请求,发现依然可以正常获取数据:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVzZXJzX2lkIjozfQ.

JWT认证缺陷导致的越权

2.修改jwt中的payload中的user_id为1,原本为3:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVzZXJzX2lkIjoxfQ.

JWT认证缺陷导致的越权

对请求包的authorization进行替换,发送请求,成功获取管理员的数据:

JWT认证缺陷导致的越权

原文始发于微信公众号(hacker30):JWT认证缺陷导致的越权

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日15:52:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JWT认证缺陷导致的越权https://cn-sec.com/archives/3295471.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息