hacktricks/pentesting-web/unicode-injection/README.md

75 lines
8.9 KiB
Markdown
Raw Normal View History

# यूनिकोड इंजेक्शन
2022-09-02 10:02:33 +00:00
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert) के साथ</strong></a><strong>!</strong></summary>
2022-09-02 10:02:33 +00:00
HackTricks का समर्थन करने के अन्य तरीके:
2022-09-02 10:02:33 +00:00
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
2022-09-02 10:02:33 +00:00
</details>
2023-11-06 08:38:02 +00:00
## परिचय
2022-09-02 10:02:33 +00:00
जिस प्रकार से बैक-एंड/फ्रंट-एंड विचार करते हैं जब वह **अजीब यूनिकोड वर्ण प्राप्त** करते हैं, एक हमलावार संग्रहणों को **छलना कर सकता है और विषयक वर्ण डाल सकता है** जो **XSS या SQLi** जैसी अभिशाप इंजेक्शन भेदों का उपयोग किया जा सकता है।
2022-09-02 10:02:33 +00:00
## यूनिकोड सामान्यीकरण
2022-09-02 10:02:33 +00:00
यूनिकोड सामान्यीकरण जब **यूनिकोड वर्णों को एस्की वर्णों में सामान्यीकृत किया जाता है**, तब होता है।
2022-09-02 10:02:33 +00:00
इस प्रकार की विकल्पित वर्णात्मकता का एक सामान्य परिदृश्य तब होता है जब सिस्टम **उपयोगकर्ता के इनपुट को जांचने के बाद कुछ बदल रहा हो**। उदाहरण के लिए, कुछ भाषाओं में इनपुट को **अपरकेस या लोअरकेस में बनाने** के लिए एक साधारण कॉल करने से दिया गया इनपुट सामान्यीकृत हो सकता है और **यूनिकोड को एस्की में रूपांतरित किया जाएगा** नए वर्ण उत्पन्न करते हैं।\
2023-11-06 08:38:02 +00:00
अधिक जानकारी के लिए देखें:
2022-09-02 10:02:33 +00:00
{% content-ref url="unicode-normalization.md" %}
[unicode-normalization.md](unicode-normalization.md)
{% endcontent-ref %}
2023-11-06 08:38:02 +00:00
## `\u` से `%` तक
2022-09-02 10:02:33 +00:00
यूनिकोड वर्णों को आम तौर पर **`\u` उपसर्ग** के साथ प्रस्तुत किया जाता है। उदाहरण के लिए वर्ण `㱋` `\u3c4b` है ([यहाँ जांचें](https://unicode-explorer.com/c/3c4B))। यदि एक बैक-एंड **प्रत्याय को रूपांतरित** करता है **प्रत्याय `\u` को `%` में**, तो परिणामी स्ट्रिंग `%3c4b` होगी, जो URL डीकोड किया जाएगा: **`<4b`**। और, जैसा कि आप देख सकते हैं, एक **`<` वर्ण इंजेक्ट** किया गया है।\
यदि बैक-एंड विकल्पशील है, तो आप इस तकनीक का उपयोग कर सकते हैं और **किसी भी प्रकार के वर्ण डाल सकते हैं**।\
आवश्यक वर्णों को खोजने के लिए [https://unicode-explorer.com/](https://unicode-explorer.com/) देखें।
2022-09-02 10:02:33 +00:00
यह वल्न वास्तव में एक विश्लेषक द्वारा पायी गई एक विकल्पितता से आती है, इसके लिए अधिक विस्तृत व्याख्या के लिए देखें [https://www.youtube.com/watch?v=aUsAHb0E7Cg](https://www.youtube.com/watch?v=aUsAHb0E7Cg)
2022-09-02 10:02:33 +00:00
## इमोजी इंजेक्शन
2022-09-02 10:02:33 +00:00
बैक-एंड कभी-कभी **इमोजी प्राप्त करने पर अजीब व्यवहार करते हैं**। यही हुआ था [**इस व्रिटअप**](https://medium.com/@fpatrik/how-i-found-an-xss-vulnerability-via-using-emojis-7ad72de49209) में जहां शोधक ने `💋img src=x onerror=alert(document.domain)//💛` जैसे पेलोड के साथ XSS प्राप्त करने में सफलता प्राप्त की।
2022-09-02 10:02:33 +00:00
इस मामले में, त्रुटि यह थी कि सर्वर ने हानिकारक वर्णों को हटाने के बाद **UTF-8 स्ट्रिंग को Windows-1252 से UTF-8 में परिवर्तित** किया (मूलत: इनपुट इनकोडिंग और एनकोडिंग से असंगति)। फिर यह सही < नह देत बस एक अज यूनि वर्ण: ``\
``इसलिए उन्होंने इस आउटपुट को **फिर से UTF-8 से ASCII में परिवर्तित** किया। यहनी, `` को `<` में **सामान्यीकृत** किया गया और इसी तरह उस सिस्टम पर उत्पादित हो सकता है।\
यह हुआ था:
2022-09-02 10:02:33 +00:00
```php
<?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;
```
इमोजी सूची:
2022-09-02 10:02:33 +00:00
* [https://github.com/iorch/jakaton\_feminicidios/blob/master/data/emojis.csv](https://github.com/iorch/jakaton\_feminicidios/blob/master/data/emojis.csv)
* [https://unicode.org/emoji/charts-14.0/full-emoji-list.html](https://unicode.org/emoji/charts-14.0/full-emoji-list.html)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-09-02 10:02:33 +00:00
HackTricks का समर्थन करने के अन्य तरीके:
2022-09-02 10:02:33 +00:00
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा **पीआर जमा करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
2022-09-02 10:02:33 +00:00
</details>