JWT渗透

JWT是一种开放标准的无状态认证机制,但存在解码payload、缺乏机密性等安全问题。攻击者可能通过解密、篡改Payload或破解密钥来绕过授权。文章介绍了JWT的安全隐患,包括未授权访问、敏感信息泄露、密钥泄露和令牌时效性,并提到了jwt_tool这一工具用于测试和破解JWT。

介绍:

JWT(英文全称:JSON Web Token)是一个开放标准(RFC 7519),用于在双方之间安全地表示声明。一种无状态的认证机制,通常用于授权和信息交换。是目前 最流行的跨域认证解决方案。

举例

不足:从安全性的角度来看,至少存在两个潜在的问题。
1、缺乏机密性-我们能够轻松解码有效载荷payload(和报头header)。
2、用户插入另一个操作(例如删除)并绕过授权

一般都是base64加密

具体实现方式()
1、算法为none
2、算法修改
3、签名失败问题
4、暴力破解
5、密钥泄露
6、令牌刷新

攻击思路
首先找到需要JWT鉴权后才能访问的页面,如个人资料页面,将该请求包重放测试:
1)未授权访问:删除Token后仍然可以正常响应对应页面
2)敏感信息泄露:通过JWt.io解密出Payload后查看其中是否包含敏感信息,如弱加密的密码等
3)破解密钥+越权访问:通过JWT.io解密出Payload部分内容,通过空加密算法或密钥爆破等方式实现重新签发Token并修改Payload部分内容,重放请求包,观察响应包是否能够越权查看其他用户资料 4)检查Token时效性:解密查看payload中是否有exp字段键值对(Token过期时间),等待过期时间后再次使用该Token发送请求,若正常响应则存在Token不过期
5)通过页面回显进行探测:如修改Payload中键值对后页面报错信息是否存在注入,payload中kid字段的目录遍历问题与sql注入问题

该漏洞前提得JWT泄露

工具安装

一、jwt_tool

1、git clone GitHub - ticarpi/jwt_tool: A toolkit for testing, tweaking and cracking JSON Web Tokens (kali上安装)

2、pip install pycryptodomex(可能需要安装这个)

3、cd jwt_tool的安装路径

4、解密:python jwt_tool.py (接着jwt加密码)最好将Python升级达到Python3

5、破解密钥:python jwt_tool.py (接着jwt加密码) C -d jwt-common.txt

tips:当然可以用-h命令来查看语法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值