
JSON Web Token हैक टूलकिट
JSON वेब टोकन हैक टूलकिट
JSON वेब टोकन के परीक्षण, विश्लेषण और हमले के लिए एक उच्च-प्रदर्शन टूलकिट।
cargo install jwt-hack
brew install jwt-hack
sudo snap 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
आप नियमित और DEFLATE-संपीड़ित दोनों JWT डिकोड कर सकते हैं। टूल स्वचालित रूप से संपीड़ित टोकन का पता लगाएगा और उन्हें डीकंप्रेस करेगा।
jwt-hack decode eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.CHANGED
jwt-hack decode COMPRESSED_JWT_TOKEN
उनकी संरचना का विश्लेषण करने के लिए JWE (JSON वेब एन्क्रिप्शन) टोकन डिकोड करें। टूल स्वचालित रूप से JWE प्रारूप (5 भाग) का पता लगाता है और एन्क्रिप्शन विवरण प्रदर्शित करता है।
# JWE टोकन संरचना डिकोड करें
jwt-hack decode eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..ZHVtbXlfaXZfMTIzNDU2.eyJ0ZXN0IjoiandlIn0.ZHVtbXlfdGFn
# JWE हेडर, एन्क्रिप्टेड कुंजी, IV, सिफरटेक्स्ट और प्रमाणीकरण टैग दिखाता है
jwt-hack encode '{"sub":"1234"}' --secret=your-secret
JWT पेलोड पर DEFLATE संपीड़न लागू करने के लिए आप --compress विकल्प का उपयोग कर सकते हैं।
jwt-hack encode '{"sub":"1234"}' --secret=your-secret --compress
# निजी कुंजी के साथ
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
एन्क्रिप्टेड JWT परिदृश्यों के परीक्षण के लिए JWE (JSON वेब एन्क्रिप्शन) टोकन बनाएँ।
# बुनियादी JWE एन्कोडिंग
jwt-hack encode '{"sub":"1234", "data":"encrypted"}' --jwe --secret=your-secret
# JWE टोकन एन्क्रिप्टेड होते हैं और केवल सही कुंजी से डिक्रिप्ट किए जा सकते हैं
jwt-hack encode '{"sensitive":"data"}' --jwe
प्रदान किए गए secret या कुंजी का उपयोग करके जाँचता है कि JWT का हस्ताक्षर मान्य है या नहीं।
# Secret के साथ (HMAC एल्गोरिदम जैसे HS256, HS384, HS512)
jwt-hack verify YOUR_JWT_TOKEN_HERE --secret=your-256-bit-secret
# निजी कुंजी के साथ (असममित एल्गोरिदम जैसे RS256, ES256, EdDSA के लिए)
jwt-hack verify YOUR_JWT_TOKEN_HERE --private-key path/to/your/RS256_private.key
शब्दकोश और ब्रूट फोर्स हमले DEFLATE के साथ संपीड़ित JWT का भी समर्थन करते हैं।
# शब्दकोश हमला
jwt-hack crack -w wordlist.txt JWT_TOKEN
jwt-hack crack -w wordlist.txt COMPRESSED_JWT_TOKEN
# ब्रूट फोर्स हमला
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 टोकन को स्वचालित रूप से स्कैन करें।
# कमजोर secret का पता लगाने और पेलोड जनरेशन सहित पूर्ण स्कैन
jwt-hack scan JWT_TOKEN
# तेज़ परिणामों के लिए secret क्रैकिंग छोड़ें
jwt-hack scan JWT_TOKEN --skip-crack
# पेलोड जनरेशन छोड़ें
jwt-hack scan JWT_TOKEN --skip-payloads
# कमजोर secret का पता लगाने के लिए कस्टम वर्डलिस्ट का उपयोग करें
jwt-hack scan JWT_TOKEN -w custom_wordlist.txt
# secret परीक्षण प्रयासों को सीमित करें
jwt-hack scan JWT_TOKEN --max-crack-attempts 50
स्कैन कमांड निम्नलिखित की जाँच करता है:
स्वचालन और एकीकरण के लिए एक स्थानीय REST API प्रारंभ करें। प्रमाणीकरण की आवश्यकता के लिए, --api-key का उपयोग करें और अनुरोधों में X-API-KEY शामिल करें।
# API कुंजी सुरक्षा के साथ localhost:3000 पर प्रारंभ करें
jwt-hack server --api-key your-api-key
# उदाहरण अनुरोध (जब --api-key सेट हो तो X-API-KEY शामिल करना अनिवार्य है)
curl -s http://127.0.0.1:3000/health -H 'X-API-KEY: your-api-key'
jwt-hack एक MCP सर्वर के रूप में चल सकता है, जिससे AI मॉडल मानकीकृत प्रोटोकॉल के माध्यम से JWT कार्यक्षमता के साथ बातचीत कर सकते हैं।
# MCP सर्वर प्रारंभ करें (stdio के माध्यम से संचार)
jwt-hack mcp
MCP सर्वर निम्नलिखित टूल प्रदान करता है:
MCP सर्वर AI मॉडल और MCP क्लाइंट द्वारा उपयोग के लिए डिज़ाइन किया गया है। प्रत्येक टूल JSON पैरामीटर स्वीकार करता है और संरचित प्रतिक्रियाएँ लौटाता है।
Decode टूल:
{
"name": "decode",
"arguments": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
Encode टूल:
{
"name": "encode",
"arguments": {
"json": "{\"sub\":\"1234\",\"name\":\"test\"}",
"secret": "mysecret",
"algorithm": "HS256"
}
}
आप jwt-hack के MCP सर्वर को लोकप्रिय MCP-सक्षम क्लाइंट से कनेक्ट कर सकते हैं। सुनिश्चित करें कि jwt-hack बाइनरी आपके सिस्टम पर है और क्लाइंट द्वारा एक्सेस योग्य है।
VSCode
{
"servers": {
"jwt-hack": {
"type": "stdio",
"command": "jwt-hack",
"args": [
"mcp"
]
}
},
"inputs": []
}
Claude Desktop
{
"mcpServers": {
"jwt-hack": {
"command": "jwt-hack",
"args": ["mcp"],
"env": {}
}
}
}
| एल्गोरिदम | विवरण |
|---|---|
| A128GCM | 128-बिट कुंजी का उपयोग करके AES-GCM |
| A256GCM | 256-बिट कुंजी का उपयोग करके AES-GCM |
| एल्गोरिदम | विवरण |
|---|---|
| dir | साझा सममित कुंजी का प्रत्यक्ष उपयोग |
DEFLATE संपीड़न समर्थन
jwt-hackटूलकिट JWT के लिए DEFLATE संपीड़न का समर्थन करता है।
- संपीड़ित JWT जनरेट करने के लिए
encodeके साथ--compressविकल्प का उपयोग करें।decodeऔरcrackमोड स्वचालित रूप से संपीड़ित JWT का पता लगाते हैं और उन्हें संभालते हैं।
Urx एक ओपन-सोर्स प्रोजेक्ट है और इसे ❤️ के साथ बनाया गया है यदि आप इस प्रोजेक्ट में योगदान करना चाहते हैं, तो कृपया CONTRIBUTING.md देखें और अपनी बेहतरीन सामग्री के साथ Pull-Request भेजें।
| मोड | विवरण | समर्थन |
|---|
| Encode | JWT/JWE एनकोडर | Secret आधारित / Key आधारित / Algorithm / Custom Header / DEFLATE Compression / JWE |
| Decode | JWT/JWE डिकोडर | Algorithm, Issued At Check, DEFLATE Compression, JWE Structure |
| Verify | JWT सत्यापक | Secret आधारित / Key आधारित (असममित एल्गोरिदम के लिए) |
| Crack | Secret क्रैकर | Dictionary Attack / Brute Force / DEFLATE Compression |
| Payload | JWT हमला पेलोड जनरेटर | none / jku&x5u / alg_confusion (--public-key के माध्यम से हस्ताक्षरित) / kid & claim injection / claims tampering / signature malleability / JWE probes / x5c / cty |
| Scan | भेद्यता स्कैनर | सामान्य JWT भेद्यताओं के लिए स्वचालित सुरक्षा जाँच |
| Server | API सर्वर | API सर्वर मोड चलाएँ (http://localhost:3000) |
| MCP | Model Context Protocol सर्वर | मानकीकृत प्रोटोकॉल के माध्यम से AI मॉडल एकीकरण |
| टूल | विवरण | पैरामीटर |
|---|
decode | JWT टोकन डिकोड करें | token (string) |
encode | JSON को JWT में एनकोड करें | json (string), secret (वैकल्पिक), algorithm (डिफ़ॉल्ट: HS256), no_signature (boolean) |
verify | JWT हस्ताक्षर सत्यापित करें | token (string), secret (वैकल्पिक), validate_exp (boolean) |
crack | JWT टोकन क्रैक करें | token (string), mode (dict/brute), chars (string), max (number) |
payload | हमला पेलोड जनरेट करें | token (string), target (string), jwk_attack (वैकल्पिक), jwk_protocol (डिफ़ॉल्ट: https), public_key (हस्ताक्षरित alg-confusion के लिए वैकल्पिक PEM/पथ) |
| एल्गोरिदम | विवरण | प्रकार |
|---|
| HS256 | SHA-256 का उपयोग करके HMAC | सममित |
| HS384 | SHA-384 का उपयोग करके HMAC | सममित |
| HS512 | SHA-512 का उपयोग करके HMAC | सममित |
| RS256 | SHA-256 का उपयोग करके RSASSA-PKCS1-v1_5 | असममित |
| RS384 | SHA-384 का उपयोग करके RSASSA-PKCS1-v1_5 | असममित |
| RS512 | SHA-512 का उपयोग करके RSASSA-PKCS1-v1_5 | असममित |
| ES256 | P-256 और SHA-256 का उपयोग करके ECDSA | असममित |
| ES384 | P-384 और SHA-384 का उपयोग करके ECDSA | असममित |
| PS256 | SHA-256 का उपयोग करके RSASSA-PSS | असममित |
| PS384 | SHA-384 का उपयोग करके RSASSA-PSS | असममित |
| PS512 | SHA-512 का उपयोग करके RSASSA-PSS | असममित |
| EdDSA | Edwards-curve डिजिटल हस्ताक्षर एल्गोरिदम | असममित |
| none | कोई डिजिटल हस्ताक्षर नहीं | - |