डेवलपर टूल · JWT डिकोडर
JWT डिकोडर को सर्वर की आवश्यकता क्यों है: नेटवर्क पैनल के साथ सत्यापन
· यह काम किस प्रकार करता है
जेडब्ल्यूटी गोपनीयता ब्राउज़र-प्रसंस्करण
एक स्ट्रिंग को विभाजित करना और Base64url को डिकोड करना एक ब्राउज़र के लिए मामूली काम है, इसलिए डिकोडर के लिए आपका टोकन कहीं भी भेजने का कोई तकनीकी कारण नहीं है। यह पोस्ट दिखाती है कि कैसे पुष्टि की जाए कि कोई टूल इसे स्थानीय रखता है।
जब मैं डिकोड दबाता हूँ तो मेरा टोकन कहाँ चला जाता है? - प्रत्येक ऑनलाइन टूल से पूछने योग्य प्रश्न
किसी भी ऑनलाइन डिकोडर का उपयोग करने से पहले, पूछें कि बटन दबाने के बाद स्ट्रिंग क्या प्राप्त करती है। JWT एक लाइव बियरर क्रेडेंशियल हो सकता है, इसलिए एक अपलोड पढ़ने योग्य दावों से कहीं अधिक उजागर कर सकता है। किसी पेज को केवल इसलिए उत्पादन टोकन प्राप्त नहीं होने चाहिए क्योंकि उसका इंटरफ़ेस टेक्स्ट फ़ॉर्मेटर जैसा दिखता है।
ToolAcre की अपनी चेतावनी मार्केटिंग वादे से भी अधिक सख्त है: इस सहित किसी भी वेब टूल में उत्पादन टोकन पेस्ट न करें। समाप्त हो चुके, घुमाए गए या सिंथेटिक उदाहरण का उपयोग करें। कार्यान्वयन स्थानीय रूप से चलता है, लेकिन ब्राउज़र एक्सटेंशन, आसपास की स्क्रिप्ट और डिवाइस उस वातावरण का हिस्सा बने रहते हैं जिस पर आपको भरोसा करना चाहिए।
कार्य में शामिल है - स्ट्रिंग विभाजन, Base64url डिकोडिंग और JSON पार्सिंग, सभी मानक ब्राउज़र क्षमताएं
वास्तविक डिकोड में स्ट्रिंग ऑपरेशंस और ब्राउज़र प्रिमिटिव शामिल होते हैं। कोड एक वैकल्पिक बियरर उपसर्ग को ट्रिम करता है, बिंदुओं पर विभाजित करता है, Base64url वर्णमाला को सामान्य करता है, पैडिंग को पुनर्स्थापित करता है, `atob` को आमंत्रित करता है, सख्त UTF-8 टेक्स्टडिकोडर के माध्यम से बाइट्स को परिवर्तित करता है और पहले दो परिणामों को JSON ऑब्जेक्ट के रूप में पार्स करता है।
इनमें से किसी भी चरण के लिए दूरस्थ सेवा की आवश्यकता नहीं है। न्यूमेरिकडेट पंक्तियाँ स्थानीय दिनांक कार्यान्वयन का उपयोग करती हैं, दावा पंक्तियों को पार्स किए गए ऑब्जेक्ट से इकट्ठा किया जाता है, और आउटपुट को टेक्स्ट के रूप में असाइन किया जाता है। स्रोत कोई सत्यापन लाइब्रेरी आयात नहीं करता है और कोई गुप्त या सार्वजनिक कुंजी नहीं मांगता है क्योंकि निरीक्षण ही प्रस्तावित एकमात्र ऑपरेशन है।
कैसे जांचें - नेटवर्क पैनल खोलें, एक टोकन पेस्ट करें, डीकोड करें और अनुरोधों पर नज़र रखें
हानिरहित परीक्षण डेटा दर्ज करने से पहले डेवलपर टूल खोलें, नेटवर्क सूची साफ़ करें, डिकोड करें, फिर नए अनुरोधों का निरीक्षण करें। टोकन या विशिष्ट सबस्ट्रिंग के लिए अनुरोध URL, तरीके और निकाय खोजें। एक ही समय में होने वाला अनुरोध स्वचालित रूप से अपलोड नहीं होता है; साबित करें कि क्रेडेंशियल बाइट्स मौजूद हैं या नहीं।
परीक्षण नियंत्रित रखें. पहले पेज लोड करें ताकि परिसंपत्ति अनुरोधों का निपटारा हो जाए, पेलोड में एक अद्वितीय सिंथेटिक मार्कर का उपयोग करें, और वास्तविक क्रेडेंशियल से बचें। यदि मार्कर अनुरोध निकाय, URL या हेडर में दिखाई देता है, तो मान स्थानीय डिकोड पथ छोड़ देता है। यदि ऐसा नहीं होता है, तो अवलोकन केवल उस सत्र का समर्थन करता है।
एक सख्त सामग्री सुरक्षा नीति गंतव्यों को सीमित करती है; यह पेज अभी भी प्रकट स्क्रिप्ट लोड करता है
जेनरेट किए गए पेज में एक सामग्री सुरक्षा नीति शामिल है जिसका `connect-src` मनमाने ढंग से दूरस्थ APआई के बजाय स्वयं, ब्लॉब और डेटा गंतव्यों की अनुमति देता है। यह सामान्य स्क्रिप्ट-आरंभित कनेक्शनों को सार्थक रूप से प्रतिबंधित करता है, लेकिन यह "कोई तृतीय-पक्ष स्क्रिप्ट, टैग या विश्लेषण नहीं" के रूपरेखा के दावे को उचित नहीं ठहराता है। व्यापक उत्पाद प्रकट Google स्क्रिप्ट को लोड कर सकता है।
CSP गहराई से बचाव है, यह सबूत नहीं है कि प्रत्येक निष्पादन योग्य घटक एक क्रेडेंशियल का हकदार है। यह गंतव्यों को सीमित कर सकता है जबकि प्रथम-पक्ष समापन बिंदुओं की अनुमति बनी रहती है, और एक्सटेंशन विभिन्न विशेषाधिकारों के तहत संचालित होते हैं। नेटवर्क साक्ष्य और स्रोत के साथ नीति पढ़ें; उन अलग-अलग टिप्पणियों को "इस क्षेत्र को कभी भी कोई नहीं पढ़ सकता" में संक्षिप्त न करें।
डिकोडर कोई टोकन संग्रहीत नहीं करता है, लेकिन पुनः लोड परीक्षण यह साबित नहीं कर सकता कि आसपास का प्रत्येक घटक हानिरहित है
JWT पैनल अपना टोकन एडिटर मान में रखता है और लोकलस्टोरेज या सेशनस्टोरेज को कॉल नहीं करता है। पैनल को साफ़ करने से इसके वर्तमान मान हट जाते हैं, और पुनः लोड में टोकन को पुनर्स्थापित करने वाली कोई सुविधा नहीं होती है। वह संकीर्ण स्रोत तथ्य स्वयं पैनल के बारे में कोई दृढ़ता न रखने वाले कथन का समर्थन करता है।
पुनः लोड करने के बाद एक रिक्त एडिटर उपयोगी साक्ष्य है, लेकिन सार्वभौमिक भंडारण ऑडिट नहीं है। ब्राउज़र इतिहास, क्लिपबोर्ड प्रबंधक, एक्सटेंशन, स्क्रीनशॉट और ऑपरेटिंग-सिस्टम सुविधाएं इस मॉड्यूल के बाहर मौजूद हैं। इसलिए नेटवर्क और स्टोरेज जांच को प्रतिलिपि प्रस्तुत करने योग्य अवलोकन के रूप में वर्णित किया जाना चाहिए, न कि डिवाइस पर प्रत्येक परत के बारे में गारंटी के रूप में।
व्यावहारिक उदाहरण: सामान्य पेज ट्रैफ़िक को टोकन डेटा वाले अनुरोध से अलग करें
कार्यान्वित जांच के लिए, ToolAcre के JWT डिकोडर को लोड करें, प्रारंभिक पेज गतिविधि समाप्त होने तक प्रतीक्षा करें और अनुरोध सूची साफ़ करें। अंतर्निहित समाप्त हो चुके नमूने या किसी अन्य गैर-संवेदनशील टोकन को चिपकाएँ, डिकोड दबाएँ और एक अद्वितीय पेलोड शब्द के लिए फ़िल्टर करें। हेडर, पेलोड, एल्गोरिदम नोट और समय पंक्तियाँ उस मार्कर को ले जाने के अनुरोध के बिना दिखाई देनी चाहिए।
यदि एनालिटिक्स, साइट-कनेक्शन या एसेट अनुरोध दिखाई दे रहे हैं तो पैनल को "खाली" न कहें। वास्तव में क्या हुआ, इसे रिकॉर्ड करें: सामान्य पेज ट्रैफ़िक मौजूद हो सकता है, जबकि किसी भी निरीक्षण किए गए अनुरोध में सिंथेटिक टोकन शामिल नहीं है। गोपनीयता के दावे को पूर्ण दिखाने के लिए असंबंधित पंक्तियों को छिपाने की तुलना में यह अंतर अधिक मजबूत सबूत है।
इसमें क्या शामिल नहीं है - ब्राउज़र एक्सटेंशन और क्लिपबोर्ड प्रबंधक, जो पेज के नियंत्रण से बाहर हैं
यह प्रक्रिया किसी दुर्भावनापूर्ण ब्राउज़र एक्सटेंशन, क्लिपबोर्ड इतिहास या किसी समझौता किए गए ऑपरेटिंग सिस्टम का निरीक्षण नहीं कर सकती है। यह यह भी साबित नहीं कर सकता कि भविष्य में तैनाती के बाद कोड क्या करेगा। जिस संस्करण और वातावरण का आप उपयोग करना चाहते हैं, उसके विरुद्ध इसे दोहराएं, और वास्तविक प्रमाणिक सामग्री अपरिहार्य होने पर आपके द्वारा नियंत्रित की जाने वाली स्थानीय स्क्रिप्ट को प्राथमिकता दें।
नेटवर्क पैनल डिकोड किए गए दावों को सत्यापित तथ्यों में भी परिवर्तित नहीं करता है। यहां तक कि जब टोकन टैब में रहता है, तब भी ToolAcre इसे प्रमाणित नहीं करता है। स्थानीय प्रसंस्करण से एक प्रकटीकरण मार्ग कम हो जाता है; यह हस्ताक्षर अखंडता, जारीकर्ता पहचान, दर्शकों की उपयुक्तता या प्राधिकरण स्थापित नहीं करता है।
स्थानीय ToolAcre कोड डिकोड करता है, लेकिन लाइव टोकन अभी भी किसी वेबसाइट से संबंधित नहीं है
ToolAcre ब्राउज़र कोड में अपना विभाजन, बाइट रूपांतरण और JSON पार्सिंग करता है, और इसके टूल-विशिष्ट स्रोत में कोई अपलोड या दृढ़ता ऑपरेशन नहीं होता है। आप बैज या गोपनीयता स्लोगन को अंकित मूल्य पर स्वीकार करने के बजाय सिंथेटिक डेटा और डेवलपर टूल का उपयोग करके उस व्यवहार का परीक्षण कर सकते हैं।
सही उपाय रूढ़िवादी रहता है: स्थानीय पथ को सत्यापित करें, लेकिन लाइव एक्सेस टोकन को वेबसाइटों से दूर रखें। डिकोड-ओनली क्लाइंट-साइड टूल थ्रोअवे डायग्नोस्टिक्स के लिए उपयुक्त हो सकता है; यह कोई क्रेडेंशियल वॉल्ट, सत्यापनकर्ता या प्राधिकरण सेवा नहीं है।