jwt攻击与防御3

CVE-2019-7644

该关卡给了JWT让我们以管理员身份登录

 得到jwt令牌,尝试破解

 将level改为admin尝试登录

带着新JWT登录报了异常,在异常中泄露了签名,将签名填入尝试登录,登录成功

 弱密码破解

在登录界面进行登录

登录成功,拿到token

 

 使用c-jwt-cracker 工具进行密钥的爆破

成功爆破出密钥是 nwrr,修改身份拿到新的token,替换掉原来的token。

 成功拿到flag。

 

 jwt的防御

1、使用适当的复杂对称/非对称密钥。

2、编写一个方案以防万一密钥泄露。

3、将密钥放在安全的地方

4、理想情况下,不允许发送方设置任意签名算法。

5、检查实现是否不接受无签名算法。

6、检查实现是否不接受空签名(即未选中签名)。

7、如果使用JWE,请检查是否在使用安全算法以及这些算法的安全实现。

8、区分verify()和decode()。

9、检查在一个地方生成的令牌是否不能在另一个地方使用以获取未经授权的访问。

10、检查调试模式是否已关闭,并且不能通过简单的技巧将其激活。

11、避免在URL中发送令牌。

12、检查是否在JWS有效负载中放置了机密信息。

13、确保免受重放攻击。

14、确保令牌具有足够短的有效期。

15、确保已实际检查“ exp”。考虑是否需要使特定令牌无效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值