.. | ||
README.md | ||
unicode-normalization.md |
Unicode Injection
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- अपनी हैकिंग ट्रिक्स साझा करें PRs जमा करके HackTricks और HackTricks Cloud github repos में.
परिचय
जब बैक-एंड/फ्रंट-एंड अजीब यूनिकोड अक्षरों को प्राप्त करता है, तो एक हमलावर सुरक्षा उपायों को बायपास कर सकता है और मनमाने अक्षरों को इंजेक्ट कर सकता है जिनका उपयोग XSS या SQLi जैसी इंजेक्शन भेद्यताओं का दुरुपयोग करने के लिए किया जा सकता है.
Unicode Normalization
यूनिकोड नॉर्मलाइजेशन तब होता है जब यूनिकोड अक्षरों को एस्की अक्षरों में सामान्यीकृत किया जाता है.
इस प्रकार की भेद्यता का एक सामान्य परिदृश्य तब होता है जब सिस्टम उपयोगकर्ता के इनपुट को किसी तरह से संशोधित कर रहा होता है इसे जांचने के बाद. उदाहरण के लिए, कुछ भाषाओं में इनपुट को ऊपरी या निचले केस में बदलने के लिए एक साधारण कॉल दिया गया इनपुट को सामान्यीकृत कर सकता है और यूनिकोड ASCII में परिवर्तित हो जाएगा नए अक्षर उत्पन्न करते हुए.
अधिक जानकारी के लिए देखें:
{% 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
Emoji Injection
बैक-एंड्स कभी-कभी अजीब तरीके से व्यवहार करते हैं जब वे इमोजी प्राप्त करते हैं. यही हुआ इस राइटअप में जहां शोधकर्ता ने एक पेलोड के साथ XSS प्राप्त किया: 💋img src=x onerror=alert(document.domain)//💛
इस मामले में, त्रुटि यह थी कि सर्वर ने दुर्भावनापूर्ण अक्षरों को हटाने के बाद 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;
Emoji सूचियाँ:
- 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 स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord समूह में शामिल हों या telegram समूह में या Twitter 🐦 पर मुझे फॉलो करें @carlospolopm.
- अपनी हैकिंग ट्रिक्स साझा करें PRs जमा करके HackTricks और HackTricks Cloud github repos में.