关于stthjpv
stthjpv是一款针对JWT Payload的安全保护工具,这款工具集多种技术和思想于一身,可以通过不断改变相关参数值来防止Payload被解码,以帮助广大研究人员更好地保护JWT Payload的安全性。
除此之外,该工具还能够确保JWT Payload在被解码之后,输出保持一种难以阅读和理解的状态。值得一提的是,该工具的运行速度非常快,具备高性能和开销小的特点。
JWT令牌是什么?
JSON Web令牌(JWT)是一种在通信双方之间传递JSON消息的URL安全方法,这种方式数据量少,且足够安全。与此同时,它也是一种定义在RFC 7519中的标准规范。JWT是一个长字符串,由点分隔成多个部分,每个部分都是Base64 URL编码。
令牌中的数据由哪些部分,取决于JWT的类型(无论是JWS还是JWE)。如果对令牌进行了签名,它将会由三个部分组成:Header、Payload和签名。如果令牌经过了加密处理,那么它将由五个部分组成:Header、加密密钥、初始化向量、密文(Payload)和身份验证标识。JWT最常用的场景,就是作为OAuth和OpenID Connect流中的访问令牌和ID令牌使用,但它们也可以用于不同的目的。
工具特性
该工具旨在增强解码JWT令牌时Payload部分的安全性。一般来说,当我们对JWT令牌(Base64)进行解码时,Payload部分是以明文形式出现的,该工具可以对Payload值进行加密或混淆,以增加他人在解码或分析Payload时的难度。
工具依赖
PyJWT
工具安装
由于该工具基于Python 3.11开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/password123456/some-tweak-to-hide-jwt-payload-values.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd some-tweak-to-hide-jwt-payload-values
pip3 install -r requirements
工具使用
# python3 main.py
- Current Unix Timestamp: 1709160368
- Current Unix Timestamp to Human Readable: 2024-02-29 07:46:08
- userid: 23243232
- XOR Symmetric key: b'generally_user_salt_or_hash_or_random_uuid_this_value_must_be_in_dbms'
- JWT Secret key: yes_your_service_jwt_secret_key
- Encoded UserID and Timestamp: VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo=
- Decoded UserID and Hashed Timestamp: 23243232|e27436b7393eb6c2fb4d5e2a508a9c5c
- JWT Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lc3RhbXAiOiIyMDI0LTAyLTI5IDA3OjQ2OjA4IiwidXNlcmlkIjoiVlZaY1VVRlRYMTRGT2tkRVVVRnBFVlpmVFd3S0VHa0xVeFVLYXd0SE9rQUFXMVJYREdZV1FBbz0ifQ.bM_6cBZHdXhMZjyefr6YO5n5X51SzXjyBUEzFiBaZ7Q
- Decoded JWT: {'timestamp': '2024-02-29 07:46:08', 'userid': 'VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo='}
# run again
- Decoded JWT: {'timestamp': '2024-02-29 08:16:36', 'userid': 'VVZcUUFTX14FaRNAVBRpRQcORmtWRGleVUtRZlYXaBZZCgYOWGlDR10='}
- Decoded JWT: {'timestamp': '2024-02-29 08:16:51', 'userid': 'VVZcUUFTX14FZxMRVUdnEgJZEmxfRztRVUBabAsRZkdVVlJWWztGQVA='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:01', 'userid': 'VVZcUUFTX14FbxYQUkM8RVRZEmkLRWsNUBYNb1sQPREFDFYKDmYRQV4='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:09', 'userid': 'VVZcUUFTX14FbUNEVEVqEFlaTGoKQjxZBRULOlpGPUtSClALWD5GRAs='}
工具运行截图
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
stthjpv:【GitHub传送门】
版权归原作者 FreeBuf- 所有, 如有侵权,请联系我们删除。