Unicode Injection
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
इस पर निर्भर करते हुए कि बैक-एंड/फ्रंट-एंड अजीब यूनिकोड कैरेक्टर प्राप्त करने पर कैसे व्यवहार करता है, एक हमलावर सुरक्षाओं को बायपास करने और मनमाने कैरेक्टर को इंजेक्ट करने में सक्षम हो सकता है, जिन्हें इंजेक्शन कमजोरियों जैसे XSS या SQLi का दुरुपयोग करने के लिए उपयोग किया जा सकता है।
यूनिकोड सामान्यीकरण तब होता है जब यूनिकोड कैरेक्टर को ASCII कैरेक्टर में सामान्यीकृत किया जाता है।
इस प्रकार की कमजोरी का एक सामान्य परिदृश्य तब होता है जब सिस्टम उपयोगकर्ता के इनपुट को किसी तरह से संशोधित करता है जांच करने के बाद। उदाहरण के लिए, कुछ भाषाओं में इनपुट को अपरकेस या लोअरकेस बनाने के लिए एक साधारण कॉल इनपुट को सामान्यीकृत कर सकता है और यूनिकोड ASCII में परिवर्तित हो जाएगा जिससे नए कैरेक्टर उत्पन्न होंगे। अधिक जानकारी के लिए देखें:
Unicode Normalization\u
to %
यूनिकोड कैरेक्टर आमतौर पर \u
उपसर्ग के साथ प्रदर्शित होते हैं। उदाहरण के लिए, कैरेक्टर 㱋
है \u3c4b
(यहाँ जांचें). यदि एक बैकएंड \u
उपसर्ग को %
में परिवर्तित करता है, तो परिणामी स्ट्रिंग %3c4b
होगी, जिसे URL डिकोड किया गया है: <4b
। और, जैसा कि आप देख सकते हैं, एक <
कैरेक्टर इंजेक्ट किया गया है।
यदि बैकएंड कमजोर है तो आप इस तकनीक का उपयोग किसी भी प्रकार के कैरेक्टर को इंजेक्ट करने के लिए कर सकते हैं।
आपको आवश्यक कैरेक्टर खोजने के लिए https://unicode-explorer.com/ देखें।
यह कमजोरी वास्तव में एक शोधकर्ता द्वारा पाई गई एक कमजोरी से आती है, अधिक गहन व्याख्या के लिए देखें https://www.youtube.com/watch?v=aUsAHb0E7Cg
बैक-एंड कुछ अजीब तरीके से व्यवहार करते हैं जब वे इमोजी प्राप्त करते हैं। यही इस लेख में हुआ था जहां शोधकर्ता ने एक पेलोड के साथ XSS प्राप्त करने में सफलता पाई: 💋img src=x onerror=alert(document.domain)//💛
इस मामले में, त्रुटि यह थी कि सर्वर ने दुर्भावनापूर्ण कैरेक्टर को हटाने के बाद Windows-1252 से UTF-8 में UTF-8 स्ट्रिंग को परिवर्तित किया (बुनियादी रूप से इनपुट एन्कोडिंग और एन्कोडिंग रूपांतरण असंगत थे)। फिर यह एक उचित < नहीं देता है, केवल एक अजीब यूनिकोड: ‹
``तो उन्होंने इस आउटपुट को लिया और अब UTF-8 से ASCII में फिर से परिवर्तित किया। इसने ‹
को <
में सामान्यीकृत किया, इस प्रकार यह प्रणाली पर एक्सप्लॉइट कैसे काम कर सकता है।
यह क्या हुआ:
Emoji सूचियाँ:
सीखें और AWS हैकिंग का अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) सीखें और GCP हैकिंग का अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)