
Kit de piratage de jetons Web JSON
Boîte à outils de hacking de JSON Web Token
Une boîte à outils haute performance pour tester, analyser et attaquer les JSON Web Tokens.
cargo install jwt-hack
brew install jwt-hack
sudo snap install jwt-hack
choco install jwt-hack
git clone https://github.com/hahwul/jwt-hack
cd jwt-hack
cargo install --path .
docker pull ghcr.io/hahwul/jwt-hack:latest
docker pull hahwul/jwt-hack:v2.6.0
| Mode | Description | Prise en charge |
|---|---|---|
| Encode | Encodeur JWT/JWE | Basé sur un secret / Basé sur une clé / Algorithme / En-tête personnalisé / Compression DEFLATE / JWE |
| Decode | Décodeur JWT/JWE | Algorithme, Vérification de la date d'émission, Compression DEFLATE, Structure JWE |
| Verify | Vérificateur JWT | Basé sur un secret / Basé sur une clé (pour les algorithmes asymétriques) |
| Crack | Casseur de secret | Attaque par dictionnaire / Force brute / Compression DEFLATE |
| Payload | Générateur de payloads d'attaque JWT | none / jku&x5u / alg_confusion (signé via --public-key) / injection kid & claim / altération de claims / malléabilité de signature / sondes JWE / x5c / cty |
| Scan | Scanner de vulnérabilités | Vérifications de sécurité automatisées pour les vulnérabilités JWT courantes |
| Server | Serveur API | Exécuter le mode serveur API (http://localhost:3000) |
| MCP | Serveur Model Context Protocol | Intégration de modèles d'IA via un protocole standardisé |
Vous pouvez décoder à la fois les JWT classiques et ceux compressés avec DEFLATE. L'outil détectera et décompressera automatiquement les jetons compressés.
jwt-hack decode eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.CHANGED
jwt-hack decode COMPRESSED_JWT_TOKEN
Décodez les jetons JWE (JSON Web Encryption) pour analyser leur structure. L'outil détecte automatiquement le format JWE (5 parties) et affiche les détails du chiffrement.
# Decode JWE token structure
jwt-hack decode eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..ZHVtbXlfaXZfMTIzNDU2.eyJ0ZXN0IjoiandlIn0.ZHVtbXlfdGFn
# Shows JWE header, encrypted key, IV, ciphertext, and authentication tag
jwt-hack encode '{"sub":"1234"}' --secret=your-secret
Vous pouvez utiliser l'option --compress pour appliquer une compression DEFLATE à la charge utile du JWT.
jwt-hack encode '{"sub":"1234"}' --secret=your-secret --compress
# With Private Key
ssh-keygen -t rsa -b 4096 -E SHA256 -m PEM -P "" -f RS256.key
jwt-hack encode '{"a":"z"}' --private-key RS256.key --algorithm=RS256
Créez des jetons JWE (JSON Web Encryption) pour tester des scénarios de JWT chiffrés.
# Basic JWE encoding
jwt-hack encode '{"sub":"1234", "data":"encrypted"}' --jwe --secret=your-secret
# JWE tokens are encrypted and can only be decrypted with the proper key
jwt-hack encode '{"sensitive":"data"}' --jwe
Vérifie si la signature d'un JWT est valide à l'aide du secret ou de la clé fournie.
# With Secret (HMAC algorithms like HS256, HS384, HS512)
jwt-hack verify YOUR_JWT_TOKEN_HERE --secret=your-256-bit-secret
# With Private Key (for asymmetric algorithms like RS256, ES256, EdDSA)
jwt-hack verify YOUR_JWT_TOKEN_HERE --private-key path/to/your/RS256_private.key
Les attaques par dictionnaire et par force brute prennent également en charge les JWT compressés avec DEFLATE.
# Dictionary attack
jwt-hack crack -w wordlist.txt JWT_TOKEN
jwt-hack crack -w wordlist.txt COMPRESSED_JWT_TOKEN
# Bruteforce attack
jwt-hack crack -m brute JWT_TOKEN --max=4
jwt-hack crack -m brute COMPRESSED_JWT_TOKEN --max=4
jwt-hack payload JWT_TOKEN --jwk-attack evil.com --jwk-trust trusted.com
Analyse automatiquement les jetons JWT à la recherche de problèmes de sécurité et de vulnérabilités courants.
# Full scan including weak secret detection and payload generation
jwt-hack scan JWT_TOKEN
# Skip secret cracking for faster results
jwt-hack scan JWT_TOKEN --skip-crack
# Skip payload generation
jwt-hack scan JWT_TOKEN --skip-payloads
# Use custom wordlist for weak secret detection
jwt-hack scan JWT_TOKEN -w custom_wordlist.txt
# Limit secret testing attempts
jwt-hack scan JWT_TOKEN --max-crack-attempts 50
La commande scan vérifie :
Démarrez une API REST locale pour l'automatisation et les intégrations. Pour exiger une authentification, utilisez --api-key et incluez X-API-KEY dans les requêtes.
# Start on localhost:3000 with API key protection
jwt-hack server --api-key your-api-key
# Example request (must include X-API-KEY when --api-key is set)
curl -s http://127.0.0.1:3000/health -H 'X-API-KEY: your-api-key'
jwt-hack peut fonctionner comme serveur MCP, permettant aux modèles d'IA d'interagir avec les fonctionnalités JWT via un protocole standardisé.
# Start MCP server (communicates via stdio)
jwt-hack mcp
Le serveur MCP expose les outils suivants :