Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jwt-key-id-injector — JWT काल्पनिक कमजोरी की जांच करने के लिए सरल पायथन स्क्रिप्ट। | Kitploit
उपकरण/GitHubGitHub/dariusztytko/jwt-key-id-injector
पेलोड जनरेशनभेद्यता विश्लेषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubdariusztytko/jwt-key-id-injector

jwt-key-id-injector

JWT काल्पनिक कमजोरी की जांच करने के लिए सरल पायथन स्क्रिप्ट।

रिपॉजिटरी देखें
5195 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

जेडब्ल्यूटी की आईडी इंजेक्टर

एक सरल पायथन स्क्रिप्ट जो काल्पनिक JWT भेद्यता के विरुद्ध जाँच करती है।

मान लीजिए कि एक एप्लिकेशन है जो HS256 एल्गोरिदम से हस्ताक्षरित JWT टोकन का उपयोग करता है। एक उदाहरण टोकन इस प्रकार दिखता है:

root@kitploit:~
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

उपरोक्त टोकन को निम्नलिखित डेटा में डिकोड किया जा सकता है:

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT"
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

हस्ताक्षर की गणना करने के लिए निम्नलिखित गुप्त कुंजी का उपयोग किया जाता है:

root@kitploit:~
supersecret

हस्ताक्षर की गणना के लिए निम्नलिखित स्यूडो कोड का उपयोग किया जाता है:

root@kitploit:~
$alg = "sha256";
$data = "...";
$key = "supersecret";

hmac($alg, $data, $key);

लेकिन क्या होगा यदि हेडर में अप्रत्याशित "kid":0 फ़ील्ड इंजेक्ट कर दी जाए?

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT",
  "kid": 0
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

kid फ़ील्ड एक कुंजी चुनने का मानक तरीका है। मेरी धारणा यह है कि, यदि kid फ़ील्ड की उम्मीद नहीं है, तो कोई भेद्य कार्यान्वयन हो सकता है जो स्ट्रिंग $key मान को एक सरणी के रूप में मानेगा:

root@kitploit:~
hmac($alg, $data, $key[kid]);

परिणामस्वरूप "s" ($key[0]) मान का उपयोग HMAC गुप्त कुंजी के रूप में किया जाएगा।

उपयोग

injector.py स्क्रिप्ट मूल JWT टोकन लेती है, हेडर में "kid":0 फ़ील्ड इंजेक्ट करती है और एक-अक्षर वाले गुप्त कुंजियों (ASCII कोड: 32 - 126 [{space}, !, ", #, ..., x, y, z, {, |, }, ~]) से हस्ताक्षरित टोकन उत्पन्न करती है:

root@kitploit:~
python3 injector.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

परिणामस्वरूप दो फ़ाइलें बनाई जाती हैं - tokens.txt और tokens_meta.txt। tokens.txt में उत्पन्न टोकन होते हैं और इसे Burp Intruder के लिए पेलोड की सूची के रूप में उपयोग किया जा सकता है। यदि कोई टोकन मान्य है (जिसका अर्थ है कि एप्लिकेशन भेद्य है), तो tokens_meta.txt फ़ाइल का उपयोग यह जाँचने के लिए किया जा सकता है कि दिए गए टोकन को उत्पन्न करने के लिए किस एल्गोरिदम और गुप्त कुंजी का उपयोग किया गया था। tokens_meta.txt फ़ाइल में निम्नलिखित डेटा होता है:

root@kitploit:~
token1:algorithm:secret
...
token{n}:algorithm:secret

परिवर्तन

कृपया CHANGELOG देखें।

टूल डाउनलोड करें