hacktricks/pentesting-web/unicode-injection/unicode-normalization.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

12 KiB

यूनिकोड सामान्यीकरण

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

पृष्ठभूमि

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

अक्षरों के बीच दो प्रकार की समता होती है, "कैननिकल समता" और "संगतता समता":
"कैननिकल समता" अनुमानित करती है कि जब प्रिंट या प्रदर्शित किया जाए, तो "कैननिकल समता" वाले अक्षरों का समान दिखाई देता है और उनका अर्थ होता है। "संगतता समता" एक कमजोर समता है, क्योंकि दो मान एक ही अवच्छेदक अक्षर को प्रतिष्ठित कर सकते हैं, लेकिन वे अलग-अलग ढंग से प्रदर्शित किए जा सकते हैं। यूनिकोड मानक द्वारा परिभाषित चार सामान्यीकरण एल्गोरिदम हैं; NFC, NFD, NFKC और NFKD, प्रत्येक एक कैननिकल और संगतता सामान्यीकरण तकनीक का अलग-अलग ढंग से उपयोग करते हैं। आप Unicode.org पर विभिन्न तकनीकों पर और अधिक पढ़ सकते हैं।

यूनिकोड एनकोडिंग

हालांकि यूनिकोड भागवती की समस्याओं को हल करने के लिए डिज़ाइन किया गया था, मानक के विकास, पुराने सिस्टमों का समर्थन करने की आवश्यकता और विभिन्न एनकोडिंग विधियों की आवश्यकता अभी भी एक चुनौती प्रस्तुत कर सकते हैं।
यूनिकोड के बारे में समझने के लिए निम्नलिखित मुख्य बिंदु हैं:

  • प्रत्येक अक्षर या प्रतीक को एक संख्यात्मक मान से मैप किया जाता है जिसे "कोड प्वाइंट" कहा जाता है।
  • कोड प्वाइंट मान (और इसलिए अक्षर खुद) को मेमोरी में 1 या अधिक बाइट्स द्वारा प्रतिष्ठित किया जाता है। अंग्रेजी बोलने वाले देशों में उपयोग किए जाने वाले लैटिन-1 अक्षर 1 बाइट का प्रतिनिधित्व कर सकते हैं। अन्य भाषाओं में अधिक अक्षर होते हैं और सभी विभिन्न कोड प्वाइंट्स को प्रतिष्ठित करने के लिए अधिक बाइट्स की आवश्यकता होती है (इसलिए वे लैटिन-1 द्वारा लिए जा सकने वाले कोड प्वाइंट्स का उपयोग नहीं कर सकते हैं)।
  • "एनकोडिंग" शब्द यह दर्शाता है कि अक्षरों को बाइट्स की श्र
' or 1=1-- -
%ef%bc%87+%e1%b4%bc%e1%b4%bf+%c2%b9%e2%81%bc%c2%b9%ef%b9%a3%ef%b9%a3+%ef%b9%a3

" or 1=1-- -
%ef%bc%82+%e1%b4%bc%e1%b4%bf+%c2%b9%e2%81%bc%c2%b9%ef%b9%a3%ef%b9%a3+%ef%b9%a3

' || 1==1//
%ef%bc%87+%ef%bd%9c%ef%bd%9c+%c2%b9%e2%81%bc%e2%81%bc%c2%b9%ef%bc%8f%ef%bc%8f

" || 1==1//
%ef%bc%82+%ef%bd%9c%ef%bd%9c+%c2%b9%e2%81%bc%e2%81%bc%c2%b9%ef%bc%8f%ef%bc%8f

sqlmap टेम्पलेट

{% embed url="https://github.com/carlospolop/sqlmap_to_unicode_template" %}

XSS (क्रॉस साइट स्क्रिप्टिंग)

आप वेबऐप को धोखा देने और XSS का शोषण करने के लिए निम्नलिखित वर्णों में से किसी एक का उपयोग कर सकते हैं:

ध्यान दें कि उदाहरण के लिए प्रस्तावित पहले यूनिकोड वर्ण को इस प्रकार भेजा जा सकता है: %e2%89%ae या %u226e

रेगेक्स को फजिंग करना

जब बैकएंड रेगेक्स के साथ उपयोगकर्ता इनपुट की जांच कर रहा होता है, तो संभव होता है कि इनपुट को रेगेक्स के लिए सामान्य रूप से नॉर्मलाइज किया जा रहा हो, लेकिन उसके उपयोग के लिए नहीं। उदाहरण के लिए, एक ओपन रीडायरेक्ट या SSRF में रेगेक्स संदेशित URL को नॉर्मलाइज कर सकता है लेकिन फिर उसे जैसा है उपयोग करता है

टूल recollapse **** बैकएंड को फजिंग करने के लिए इनपुट के विभिन्न रूपों को उत्पन्न करने की अनुमति देता है। अधिक जानकारी के लिए github और इस पोस्ट की जांच करें।

संदर्भ

इस पृष्ठ की सभी जानकारी यहां से ली गई थी: https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/#

अन्य संदर्भ:

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
  • क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आप PEASS के नवीनतम संस्करण तक पहुंच या HackTricks को PDF में डाउनलोड करना चाहते हैं? SUBSCRIPTION PLANS की जांच करें!
  • The PEASS Family की खोज करें, हमारे विशेष NFTs का संग्रह
  • आधिकारिक PEASS & HackTricks swag प्राप्त करें
  • शामिल हों 💬 Discord समूह या टेलीग्राम समूह में या मुझे ट्विटर 🐦@carlospolopm** का** अनुसरण करें।**
  • अपने हैकिंग ट्रिक्स को हमें PR के माध्यम से सबमिट करके hacktricks repo और hacktricks-cloud repo को साझा करें।