डेवलपर टूल · JWT डिकोडर
सर्वर-साइड JWT डिकोडर में कभी भी लाइव एक्सेस टोकन न चिपकाएँ
· यह क्यों मायने रखती है
जेडब्ल्यूटी सुरक्षा गोपनीयता
धारक टोकन एक क्रेडेंशियल है: जो कोई भी इसे धारण करता है वह आपके रूप में कार्य कर सकता है जब तक कि यह समाप्त न हो जाए। यह पोस्ट बताती है कि जब आप किसी टूल में पेस्ट करते हैं तो आप क्या सौंपते हैं जो उसके सर्वर से बात करता है, और सुरक्षित रूप से डीबग कैसे करें।
दबाव में त्वरित पेस्ट - जिस क्षण कोई कार्यशील क्रेडेंशियल आपकी मशीन से बाहर निकलता है
एक उत्पादन API 401 का जवाब देता है और सबसे तेज़ दिखने वाला डिबगिंग चरण इसके वाहक JWT को एक वेब डिकोडर में चिपका रहा है। उस समय आप अपने एप्लिकेशन से असंबद्ध सर्वर को एक कार्यशील क्रेडेंशियल सौंप सकते हैं। पठनीय दावे दिखाने वाला परिणाम पैनल आपको यह नहीं बताता कि उस ऑपरेटर ने क्या रखा, लॉग किया या अग्रेषित किया। किसी सुविधाजनक डिकोडर को तटस्थ फ़ॉर्मेटर के रूप में मानने से पहले रुकें और पहचानें कि टोकन लाइव है या नहीं।
बियरर का मतलब है कि कब्ज़ा अधिकार है - एक टोकन एक ID की तुलना में पासवर्ड के अधिक करीब क्यों है
एक धारक क्रेडेंशियल जारी करने वाली सेवा के नियमों के तहत उसके पास मौजूद किसी भी व्यक्ति को अधिकार देता है जब तक कि वह समाप्त न हो जाए या रद्द न कर दिया जाए। इसका हस्ताक्षर सही कुंजी वाले सत्यापनकर्ता को प्रामाणिकता साबित कर सकता है; यह टोकन को प्रकट करने के लिए सुरक्षित नहीं बनाता है। कुछ टोकन केवल-पढ़ने के लिए पहुंच प्रदान करते हैं, अन्य लेखन या विशेषाधिकार प्राप्त खाता संचालन को अधिकृत करते हैं। भले ही आप इसके अंदर प्रदर्शित दावों पर भरोसा करते हैं, संपूर्ण कॉम्पैक्ट स्ट्रिंग भेजने से प्राप्तकर्ता को हस्ताक्षर बाइट्स और सभी तीन एन्कोडेड सेगमेंट की आपूर्ति होती है।
एक सर्वर-साइड टूल क्या देख सकता है - पूर्ण टोकन, उसके अंदर के दावे और, सिद्धांत रूप में, वैध होने पर इसे फिर से चलाने की क्षमता
एक सर्वर-साइड डिकोडर अपने अनुरोध में संपूर्ण स्ट्रिंग प्राप्त कर सकता है, खाता देख सकता है और उसके नामों का दावा कर सकता है, और सिद्धांत रूप में सेवा के वैध होने पर उसे फिर से चला सकता है। क्या ऑपरेटर वास्तव में ऐसा करता है, यह एक अलग प्रश्न है जिसका उत्तर आप अकेले "हम टोकन संग्रहीत नहीं करते हैं" वाक्य से नहीं दे सकते। लॉग, ट्रेसिंग, ब्राउज़र एक्सटेंशन और मध्यस्थ सेवाएं अतिरिक्त प्रतियां बना सकती हैं। HTTPS के ऊपर एक खाली POST यात्रा को एन्क्रिप्ट करता है; यह आगमन के बाद गंतव्य की प्लेनटेक्स्ट तक पहुंच को समाप्त नहीं करता है।
पेलोड में क्या है - उपयोगकर्ता पहचानकर्ता, ईमेल पते, भूमिकाएं और दायरे जो रीप्ले के बिना भी व्यक्तिगत डेटा हैं
JWT पेलोड Base64url-एन्कोडेड है, एन्क्रिप्टेड नहीं। इसमें एक विषय पहचानकर्ता, ईमेल, भूमिका, दायरा या किरायेदार ID शामिल हो सकती है, भले ही टोकन समाप्त हो गया हो और अब पहुंच प्रदान नहीं कर सकता है। वे फ़ील्ड हस्ताक्षर से स्वतंत्र व्यक्तिगत या व्यावसायिक रूप से संवेदनशील हो सकते हैं। एक एल्गोरिदम लेबल और समाप्ति दावा केवल टोकन के अंदर का डेटा है जब तक कि कोई विश्वसनीय सत्यापनकर्ता इसकी जांच नहीं करता है; ToolAcre का डिकोडर जानबूझकर हस्ताक्षर को सत्यापित नहीं करता है। इसके आउटपुट को अनुमति निर्णय के रूप में उपयोग न करें।
सुरक्षित डिबगिंग आदतें - क्लाइंट-साइड डिकोडिंग, समाप्त हो चुके या परीक्षण टोकन, और किसी भी एक्सपोज़र के बाद रद्द करना या घुमाना
वास्तविक उत्पादन सामग्री के लिए ऑफ़लाइन डिबगर या स्थानीय स्क्रिप्ट को प्राथमिकता दें जिसे आप नियंत्रित करते हैं। सार्वजनिक वेब डिकोडर का प्रदर्शन करते समय समाप्त हो चुके, घुमाए गए या स्पष्ट रूप से सिंथेटिक टोकन का उपयोग करें। यदि कोई कार्यशील टोकन किसी अविश्वसनीय पेज पर चिपकाया गया है, तो केवल ब्राउज़र इतिहास साफ़ करने के बजाय उसे घुमाएँ या निरस्त करें। क्लाइंट-साइड डिकोडिंग मान अपलोड करने की तुलना में एक सुधार है, लेकिन यह स्वचालित रूप से सुरक्षित नहीं है: पेज स्क्रिप्ट और एक्सटेंशन DOM इनपुट पढ़ सकते हैं, और ToolAcre के प्रोडक्शन डेवलपर पेज तृतीय-पक्ष AdSense साइट-कनेक्शन, GA4 और टैग मैनेजर स्क्रिप्ट लोड करते हैं, भले ही विज्ञापन सेवा अक्षम हो और ToolAcre एनालिटिक्स इवेंट के लिए सहमति की आवश्यकता हो। ToolAcre सहित किसी भी वेबसाइट पर लाइव एक्सेस टोकन पेस्ट न करें।
कार्यान्वित उदाहरण - एक डिबगिंग सत्र जो ब्राउज़र को छोड़े बिना टोकन का निरीक्षण करता है, नेटवर्क पैनल में सत्यापित होता है
विकास परिवेश में एक हानिरहित परीक्षण JWT बनाएं, इसे अमान्य करें, और ब्राउज़र नेटवर्क पैनल खोलकर उस प्रतिलिपि का निरीक्षण करें। ToolAcre इसे ToolAcre अपलोड अनुरोध के बाइट्स के बिना पेज कोड में विभाजित और डीकोड करता है; आप अपने सत्र के दौरान उन अनुरोधों की जांच कर सकते हैं। आप अभी भी वेबसाइट संपत्तियां और प्रकट तृतीय-पक्ष स्क्रिप्ट ट्रैफ़िक देख सकते हैं, इसलिए एक खाली नेटवर्क पैनल दावा नहीं है। प्रदर्शित हेडर और पेलोड की तुलना अपने विश्वसनीय परीक्षण डेटा से करें और किसी भी दावे की व्याख्या करने से पहले स्पष्ट "हस्ताक्षर सत्यापित नहीं" चेतावनी पर ध्यान दें।
इसमें क्या शामिल नहीं है - लॉग और URL के माध्यम से लीक हुए टोकन, जो अलग-अलग रिसाव पथ हैं
यह आलेख एप्लिकेशन लॉग में लीक हुए टोकन, URL क्वेरी स्ट्रिंग, स्क्रीन शेयर या ब्राउज़र एक्सटेंशन का समाधान नहीं करता है। न ही स्थानीय डिकोडिंग किसी दुर्भावनापूर्ण स्क्रिप्ट को उसके टेक्स्ट फ़ील्ड को पढ़ने से रोकती है जिसकी पहले से ही आपके पेज तक पहुंच है। जारीकर्ता सेवा में छोटे जीवनकाल, न्यूनतम-विशेषाधिकार वाले दायरे और सुरक्षित लॉगिंग नियंत्रण का उपयोग करें; एक डिकोडर उन गुणों को उस क्रेडेंशियल पर पुनः फ़िट नहीं कर सकता जो असुरक्षित रूप से उत्पन्न किया गया था।
टेकअवे: स्थानीय रूप से निरीक्षण करें या बिल्कुल भी नहीं - ToolAcre JWT डिकोडर ब्राउज़र में चलता है, कुछ भी संग्रहीत नहीं करता है और कभी सत्यापित नहीं करता है, इसलिए इसे न तो आपके टोकन की आवश्यकता है और न ही भेजता है
स्थानीय स्तर पर या फेंके गए डेटा के साथ निरीक्षण करें। ToolAcre JWT डिकोडर आपके ब्राउज़र में चिपकाए गए टोकन को पढ़ता है और पार्स करता है और इसे सत्यापित नहीं करता है, इसलिए यह अधिकार दिए बिना प्रारूप का निदान करने में मदद कर सकता है। क्योंकि यह अभी भी अन्य निष्पादन योग्य कोड वाला एक वेब पेज है, लाइव क्रेडेंशियल के लिए ऑफ़लाइन टूलींग चुनें; ऑनलाइन डिकोडर में चिपकाने के लिए सबसे सुरक्षित उत्पादन टोकन कोई नहीं है।