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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
json-sanitizer — json-sanitizer के साथ CVE-2020-13973 | Kitploit
उपकरण/GitHubGitHub/epicosy/json-sanitizer
सामान्य उपयोगिताएँएन्क्रिप्शन/डिक्रिप्शन उपकरणभेद्यता विश्लेषणकोड विश्लेषणवेब सुरक्षा
GitHubepicosy/json-sanitizer

json-sanitizer

json-sanitizer के साथ CVE-2020-13973

रिपॉजिटरी देखें
2 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

json-sanitizer

JSON जैसी सामग्री दिए जाने पर, JSON Sanitizer इसे वैध JSON में परिवर्तित करता है।

आरंभ करना - संपर्क

इसे डेटा-पाइपलाइन के किसी भी छोर पर जोड़ा जा सकता है ताकि Postel के सिद्धांत को संतुष्ट करने में मदद मिल सके:

जो आप करते हैं उसमें रूढ़िवादी रहें, जो आप दूसरों से स्वीकार करते हैं उसमें उदार रहें

दूसरों से JSON जैसी सामग्री पर लागू करने पर, यह सुव्यवस्थित JSON उत्पन्न करेगा जो आपके द्वारा उपयोग किए जाने वाले किसी भी पार्सर को संतुष्ट करना चाहिए।

अपने आउटपुट पर भेजने से पहले लागू करने पर, यह एन्कोडिंग में छोटी-मोटी गलतियों को सुधारेगा और आपके JSON को HTML और XML में एम्बेड करना आसान बनाएगा।

प्रेरणा

Architecture

कई अनुप्रयोगों के पास JSON आउटपुट उत्पन्न करने के लिए बड़ी मात्रा में कोड होता है जो तदर्थ विधियों का उपयोग करता है।

अक्सर ये आउटपुट सभी नेटवर्क पर भेजे जाने से पहले फ्रेमवर्क कोड की एक छोटी मात्रा से गुज़रते हैं। यह छोटी मात्रा का फ्रेमवर्क कोड यह सुनिश्चित करने के लिए इस लाइब्रेरी का उपयोग कर सकता है कि तदर्थ आउटपुट मानकों के अनुरूप हों और अत्यधिक शक्तिशाली डिसीरियलाइज़र जैसे जावास्क्रिप्ट के eval ऑपरेटर को पास करने के लिए सुरक्षित हों।

एप्लिकेशन में अक्सर वेब सेवा APIs भी होती हैं जो विभिन्न स्रोतों से JSON प्राप्त करती हैं। जब यह JSON तदर्थ विधियों का उपयोग करके बनाया जाता है, तो यह लाइब्रेरी इसे एक ऐसे रूप में ढाल सकती है जिसे पार्स करना आसान हो।

इस लाइब्रेरी को अनुरोधों और प्रतिक्रियाओं को भेजने और प्राप्त करने वाले कोड में हुक करके, यह लाइब्रेरी सॉफ्टवेयर आर्किटेक्ट्स को सिस्टम-व्यापी सुरक्षा और सुव्यवस्थितता गारंटी सुनिश्चित करने में मदद कर सकती है।

इनपुट

सैनिटाइज़र JSON जैसी सामग्री लेता है, और इसे JS eval के अनुसार व्याख्यायित करता है। विशेष रूप से, यह इन गैर-मानक निर्माणों से निपटता है।

सैनिटाइज़र लापता विराम चिह्न, अंत उद्धरण, और बेमेल या लापता बंद कोष्ठक को ठीक करता है। यदि इनपुट में केवल श्वेत-स्थान है तो वैध JSON स्ट्रिंग null प्रतिस्थापित किया जाता है।

आउटपुट

आउटपुट RFC 4627 द्वारा परिभाषित सुव्यवस्थित JSON है। आउटपुट इन अतिरिक्त गुणों को संतुष्ट करता है:

  • आउटपुट में सबस्ट्रिंग "</script" (केस-असंवेदनशील) शामिल नहीं होगा, इसलिए इसे बिना अतिरिक्त एन्कोडिंग के HTML स्क्रिप्ट एलिमेंट के अंदर एम्बेड किया जा सकता है।
  • आउटपुट में सबस्ट्रिंग "]]>" शामिल नहीं होगा, इसलिए इसे बिना अतिरिक्त एन्कोडिंग के XML CDATA सेक्शन के अंदर एम्बेड किया जा सकता है।
  • आउटपुट एक वैध जावास्क्रिप्ट एक्सप्रेशन है, इसलिए जावास्क्रिप्ट के eval बिल्टिन (कोष्ठक में लपेटे जाने के बाद) या JSON.parse द्वारा पार्स किया जा सकता है। विशेष रूप से, आउटपुट में एम्बेडेड JS न्यूलाइन (U+2028 पैराग्राफ सेपरेटर या U+2029 लाइन सेपरेटर) वाला कोई स्ट्रिंग शाब्दिक नहीं होगा।
  • आउटपुट में केवल वैध यूनिकोड स्केलर वैल्यू (कोई पृथक UTF-16 सरोगेट) शामिल हैं जो XML में अनुमत हैं बिना एस्केप के।

सुरक्षा

चूंकि आउटपुट सुव्यवस्थित JSON है, इसे eval को पास करने से कोई साइड-इफ़ेक्ट नहीं होगा और कोई मुक्त चर नहीं होगा, इसलिए यह न तो कोड-इंजेक्शन वेक्टर है और न ही रहस्यों के बहिर्वाह के लिए वेक्टर है।

यह लाइब्रेरी केवल यह सुनिश्चित करती है कि JSON स्ट्रिंग → जावास्क्रिप्ट ऑब्जेक्ट चरण का कोई साइड-इफ़ेक्ट न हो और कोई मुक्त चर हल न करे, और यह नियंत्रित नहीं कर सकती कि क्लाइंट-साइड कोड बाद में परिणामी जावास्क्रिप्ट ऑब्जेक्ट की व्याख्या कैसे करता है। इसलिए यदि क्लाइंट-साइड कोड पार्स किए गए डेटा के एक हिस्से को लेता है जो एक हमलावर द्वारा नियंत्रित है और इसे eval या innerHTML जैसे शक्तिशाली इंटरप्रेटर के माध्यम से वापस भेजता है, तो उस क्लाइंट-साइड कोड में अनपेक्षित साइड-इफ़ेक्ट हो सकते हैं।

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // सुरक्षित
var myEmbeddedValue = eval(myValue.foo);  // संभावित रूप से असुरक्षित

इसके अतिरिक्त, JSON को सैनिटाइज़ करना किसी एप्लिकेशन को Confused Deputy हमलों से नहीं बचा सकता

root@kitploit:~
var myValue = JSON.parse(sanitizedJsonString);
addToAdminstratorsGroup(myValue.propertyFromUntrustedSource);

प्रदर्शन

सैनिटाइज़ विधि इनपुट स्ट्रिंग को बिना नया बफर आवंटित किए वापस कर देगी जब इनपुट पहले से ही वैध JSON है जो उपरोक्त गुणों को संतुष्ट करता है। इस प्रकार, यदि सामान्यतः सुव्यवस्थित इनपुट पर उपयोग किया जाता है, तो इसका न्यूनतम मेमोरी ओवरहेड होता है।

सैनिटाइज़ विधि O(n) समय लेती है जहाँ n UTF-16 कोड-इकाइयों में इनपुट की लंबाई है।

टूल डाउनलोड करें
निर्माणनीति
'...'एकल उद्धरण वाले स्ट्रिंग को JSON स्ट्रिंग में परिवर्तित किया जाता है।
\xABहेक्स एस्केप को JSON यूनिकोड एस्केप में परिवर्तित किया जाता है।
\012ऑक्टल एस्केप को JSON यूनिकोड एस्केप में परिवर्तित किया जाता है।
0xABहेक्स पूर्णांक शाब्दिक को JSON दशमलव संख्याओं में परिवर्तित किया जाता है।
012ऑक्टल पूर्णांक शाब्दिक को JSON दशमलव संख्याओं में परिवर्तित किया जाता है।
+.5दशमलव संख्याओं को JSON के अधिक सख्त प्रारूप में बदल दिया जाता है।
[0,,2]सरणियों में रिक्तियां null से भर दी जाती हैं।
[1,2,3,]पिछले अल्पविराम हटा दिए जाते हैं।
{foo:"bar"}अनउद्धृत संपत्ति नाम उद्धृत किए जाते हैं।
//commentsJS शैली की पंक्ति और ब्लॉक टिप्पणियाँ हटा दी जाती हैं।
(...)समूहीकरण कोष्ठक हटा दिए जाते हैं।