.. | ||
README.md | ||
unicode-normalization.md |
यूनिकोड इंजेक्शन
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी HackTricks में विज्ञापित हो या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो** करें।
- अपने हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके।
परिचय
जिस प्रकार से बैक-एंड/फ्रंट-एंड विचार करते हैं जब वह अजीब यूनिकोड वर्ण प्राप्त करते हैं, एक हमलावार संग्रहणों को छलना कर सकता है और विषयक वर्ण डाल सकता है जो XSS या SQLi जैसी अभिशाप इंजेक्शन भेदों का उपयोग किया जा सकता है।
यूनिकोड सामान्यीकरण
यूनिकोड सामान्यीकरण जब यूनिकोड वर्णों को एस्की वर्णों में सामान्यीकृत किया जाता है, तब होता है।
इस प्रकार की विकल्पित वर्णात्मकता का एक सामान्य परिदृश्य तब होता है जब सिस्टम उपयोगकर्ता के इनपुट को जांचने के बाद कुछ बदल रहा हो। उदाहरण के लिए, कुछ भाषाओं में इनपुट को अपरकेस या लोअरकेस में बनाने के लिए एक साधारण कॉल करने से दिया गया इनपुट सामान्यीकृत हो सकता है और यूनिकोड को एस्की में रूपांतरित किया जाएगा नए वर्ण उत्पन्न करते हैं।
अधिक जानकारी के लिए देखें:
{% content-ref url="unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
\u
से %
तक
यूनिकोड वर्णों को आम तौर पर \u
उपसर्ग के साथ प्रस्तुत किया जाता है। उदाहरण के लिए वर्ण 㱋
\u3c4b
है (यहाँ जांचें)। यदि एक बैक-एंड प्रत्याय को रूपांतरित करता है प्रत्याय \u
को %
में, तो परिणामी स्ट्रिंग %3c4b
होगी, जो URL डीकोड किया जाएगा: <4b
। और, जैसा कि आप देख सकते हैं, एक <
वर्ण इंजेक्ट किया गया है।
यदि बैक-एंड विकल्पशील है, तो आप इस तकनीक का उपयोग कर सकते हैं और किसी भी प्रकार के वर्ण डाल सकते हैं।
आवश्यक वर्णों को खोजने के लिए https://unicode-explorer.com/ देखें।
यह वल्न वास्तव में एक विश्लेषक द्वारा पायी गई एक विकल्पितता से आती है, इसके लिए अधिक विस्तृत व्याख्या के लिए देखें https://www.youtube.com/watch?v=aUsAHb0E7Cg
इमोजी इंजेक्शन
बैक-एंड कभी-कभी इमोजी प्राप्त करने पर अजीब व्यवहार करते हैं। यही हुआ था इस व्रिटअप में जहां शोधक ने 💋img src=x onerror=alert(document.domain)//💛
जैसे पेलोड के साथ XSS प्राप्त करने में सफलता प्राप्त की।
इस मामले में, त्रुटि यह थी कि सर्वर ने हानिकारक वर्णों को हटाने के बाद UTF-8 स्ट्रिंग को Windows-1252 से UTF-8 में परिवर्तित किया (मूलत: इनपुट इनकोडिंग और एनकोडिंग से असंगति)। फिर यह सही < नहीं देता बस एक अजीब यूनिकोड वर्ण: ‹
``इसलिए उन्होंने इस आउटपुट को फिर से UTF-8 से ASCII में परिवर्तित किया। यहनी, ‹
को <
में सामान्यीकृत किया गया और इसी तरह उस सिस्टम पर उत्पादित हो सकता है।
यह हुआ था:
<?php
$str = isset($_GET["str"]) ? htmlspecialchars($_GET["str"]) : "";
$str = iconv("Windows-1252", "UTF-8", $str);
$str = iconv("UTF-8", "ASCII//TRANSLIT", $str);
echo "String: " . $str;
इमोजी सूची:
- https://github.com/iorch/jakaton_feminicidios/blob/master/data/emojis.csv
- https://unicode.org/emoji/charts-14.0/full-emoji-list.html
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो** करें।
- हैकिंग ट्रिक्स साझा करें द्वारा पीआर जमा करके HackTricks और HackTricks Cloud github repos में।