关于 JWT 认证的基本知识点可见笔记 认证 & 授权
相关文章
- 全程带阻:记一次授权网络攻防演练 (上)
- 对jwt的安全测试方式总结
- 攻击JWT的一些方法
- JWT攻击手册:如何入侵你的Token
- JSON Web Token Validation Bypass in Auth0 Authentication API
Tips
搜索 JWT 的正则,来自 以下正则来自 以下内容来自 [ticarpi/jwt_tool]
[= ]ey[A-Za-z0-9_-]*\.[A-Za-z0-9._-]* 稳定的 JWT 版本
[= ]ey[A-Za-z0-9_\/+-]*\.[A-Za-z0-9._\/+-]* 所有 JWT 版本(可能误报)
python快速生成 jwt
import jwt
jwt.encode({'字段1':'test','字段2':'123456'},algorithm='none',key='')
相关工具
- JSON Web Tokens - jwt.io - 在线的 jwt 生成
- ticarpi/jwt_tool - 一个用于验证,伪造和破解JWT(JSON Web令牌)的工具包。
- Ch1ngg/JWTPyCrack
- crack JWT
- brendan-rius/c-jwt-cracker
- andresriancho/jwt-fuzzer
- ozzi-/JWT4B - 即时操作 JWT 的 burp 插件
- 3v4Si0N/RS256-2-HS256 - JWT 攻击,将算法由 RS256 变为 HS256
加密算法置空
- 捕获 JWT.
- 修改 algorithm 为 None.
- 在正⽂中⽤任何你想要的内容改变原本的内容,如: email: [email protected]
- 使⽤修改后的令牌发送请求并检查结果。
篡改加密算法
- 捕获 JWT token.
- 如果算法是 RS256,就改成 HS256,然后⽤公钥签名(你可以通过访问 jwks Uri (https://YOUR_DOMAIN/.well-known/jwks.json) 来获得,⼤多数情况下是该网站 https 证书的公钥)。
- 使⽤修改后的令牌发送请求并检查响应。
检查服务器端会话终⽌是否正确 (OTG-SESS-006)
- 检查应用程序是否使用 JWT 令牌进行认证。
- 如果是,登录到应用程序并捕获令牌。(⼤多数网络应⽤都会将令牌存储在浏览器的本地存储中)
- 现在注销应用程序。
- 用之前捕获的令牌向权限接口发出请求。
- 有时,请求会成功,因为 Web 应用程序只是从浏览器中删除令牌,而不会在后端将令牌列⼊黑名单。