【渗透实例】利用JSON Web令牌进行账户接管

admin 2021年9月2日19:43:25评论75 views字数 646阅读2分9秒阅读模式
【渗透实例】利用JSON Web令牌进行账户接管点击上方蓝字关注我们


【渗透实例】利用JSON Web令牌进行账户接管


前言


JSON Web 令牌(JWT)是一种JSON对象,用于在各方之间安全地传输信息。它也可以被用于授权。JWT遵循header.payload.signature签名结构。

header部分是一个描述JWT元数据的JSON对象;payload部分是JWT的主体内容部分,也是一个JSON对象,包含需要传递的数据;signature部分是对上面两部分数据签名,通过指定的算法(RSA、HMAC、Elliptic curves、None)生成哈希,以确保数据不会被篡改。

如用利用JWT进行账户接管

第 1 步:登录应用程序并将请求发送到Burp套件。如下图所示,当前我们是以ethicalkaps身份登录的。


【渗透实例】利用JSON Web令牌进行账户接管


可以注意到auth=value遵循JWT结构。


第 2 步:对该值进行解码,并将其发送给解码器。


【渗透实例】利用JSON Web令牌进行账户接管


第 3 步:可以看出这里是通过HS256算法进行加密的,登录参数也反映了用户名为ethicalkaps。接下来,可以把它们都转换成另一个值,比如:HS256转换成None , ethicalkaps转换成admin。注意是否有任何事情发生。


【渗透实例】利用JSON Web令牌进行账户接管


第 4 步:然后复制整个(转换的)Base64值,并粘贴到cookie值中。返回的响应是200 OK。


【渗透实例】利用JSON Web令牌进行账户接管


第 5 步:虽然响应是200 OK。但不幸的是,我们无法登录管理员帐户。我们可以尝试删除JWT的签名。


【渗透实例】利用JSON Web令牌进行账户接管


第 6 步:实现了!我们成功地利用JWT接管了管理员的账户。


【渗透实例】利用JSON Web令牌进行账户接管


【渗透实例】利用JSON Web令牌进行账户接管

END



【渗透实例】利用JSON Web令牌进行账户接管


好文!必须在看

本文始发于微信公众号(SecTr安全团队):【渗透实例】利用JSON Web令牌进行账户接管

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月2日19:43:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【渗透实例】利用JSON Web令牌进行账户接管https://cn-sec.com/archives/453435.html

发表评论

匿名网友 填写信息