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

  • A+
所属分类:安全文章
【渗透实例】利用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令牌进行账户接管

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: