相关阅读
视频讲解
JWT(Json Web Token)是常见的身份认证方式,如何通过篡改JWT中的payload,从而劫持、篡改账户密码?本期视频将带大家一探究竟
JSON Web Token
Json Web Token简称JWT,通常出现在请求头中,格式类似于
Authorization : bearer <Token>
其中<token>通常是三段的base64结构
在请求头里,通常为下面的样子
Authorization : bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
我们可以去jwt.io上查看示例,下面是<token>
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
也就是你可以理解为Header.Payload.Verify Signature,它们均是base64加密的,因此你可以单独对其进行解密
看下面的图就非常清晰了
![图片[1]-黑客如何渗透JSON Web Token?通过劫持Token修改密码?-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20221024112931829-1024x607-1.webp)
我们会发现在Payload中会包含我们用户身份的信息,比方说name,那么设想一下,有些对安全没有进行足够校验的,是否可以通过修改name后面的名称,进行越权访问呢?譬如,我们将其修改为admin
![图片[2]-黑客如何渗透JSON Web Token?通过劫持Token修改密码?-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20221024113143867-1024x583-1.webp)
然后我们重新覆盖请求头,是否会有奇效呢?
Authorization : bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImFkbWluIiwiaWF0IjoxNTE2MjM5MDIyfQ.T26Dm4buOBRdxNs58srk1l_N5y1Dxii9y-YMj-9J7mM
视频中就是通过类似的方式,修改请求头中的Authorization和Cookie中的token,最终可以修改管理员的密码,最终登录管理员账户
![图片[3]-黑客如何渗透JSON Web Token?通过劫持Token修改密码?-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20221024113446541-1024x555-1.webp)
![图片[4]-黑客如何渗透JSON Web Token?通过劫持Token修改密码?-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20221024113426569-1024x548-1.webp)
© 版权声明
THE END
暂无评论内容