दिलचस्प पोस्ट
स्काला सूची सम्मिलन, ::: बनाम ++ एसोसिएट लिआ में मान द्वारा तालिका को छांटने AngularJS में यूनिट टेस्ट पृथक स्कोप निर्देशक कैसे करें पायथन ऑब्जेक्ट्स भ्रम: ए = बी, बी को संशोधित करें और एक बदलाव! क्यों नहीं std :: स्ट्रिंग चार * के लिए अंतर्निहित रूपांतरण प्रदान करते हैं? खोजदृश्य विजेट की पृष्ठभूमि को बदलने योग्य बनाना टूलटिप एरो के साथ एंड्रॉइड पॉपअप Window जावा में एक ही मूल्य के लिए एकाधिक चर को प्रारंभ करना स्विफ्ट यूआईएसएलर्ट कंट्रोलर -> एक्शन शीट आईपैड आईओएस 8 क्रैश Java BigDecimal प्रदर्शन के साथ क्या करना है? पायथन में व्यावसायिक दिन HTML5 ऑडियो स्थिति सेट करना सेलेनियम – यूआरएल के जरिए बुनियादी प्रमाणीकरण के अन्य तरीके टीएफएस 2013 पर बिल्ड विफल रहा लेकिन स्थानीय रूप से ठीक सी ++ में अंडरफ़्लो / ओवरफ्लो के लिए जांच की जा रही है?

AntiXss.HtmlEncode और HttpUtility.HtmlEncode के बीच अंतर क्या है?

क्रॉस साइट स्क्रिप्टिंग से बचने के लिए एंटीज़स लाइब्रेरी का सुझाव देते हुए मैंने एक प्रश्न के मुताबिक सिर्फ एक प्रश्न के मुकाबले भाग लिया दिलचस्प लग रहा है, एमएसडीएन ब्लॉग को पढ़ने के लिए, यह सिर्फ एक HtmlEncode () विधि प्रदान करने के लिए प्रतीत होता है लेकिन मैं पहले से ही HttpUtility.HtmlEncode () का उपयोग कर रहा हूँ।

मैं HttpUtility.HtmlEncode पर AntiXss.HtmlEncode का उपयोग क्यों करना चाहूंगा?

वास्तव में, मैं इस सवाल पूछने के लिए सबसे पहले नहीं हूँ और, वास्तव में, गूगल कुछ जवाब बदल जाता है , मुख्य रूप से

  • काली सूची के दृष्टिकोण की बजाय एक सफेद सूची
  • एक 0.1ms प्रदर्शन में सुधार

खैर, ये अच्छा है, लेकिन मेरे लिए इसका क्या मतलब है? मुझे 0.1ms के प्रदर्शन के बारे में बहुत अधिक परवाह नहीं है और मुझे वास्तव में ऐसा कार्यक्षमता के लिए एक अन्य लाइब्रेरी निर्भरता डाउनलोड करने और जोड़ने की तरह महसूस नहीं है जो मेरे पास पहले से है।

क्या ऐसे मामलों के उदाहरण हैं जहां एंटीक्सस लागू करने से हमला हो सकता है कि एचटीटीपी यूटिलिटी कार्यान्वयन नहीं होगा?

अगर मैं एचटीटीपी यूटिलिटी कार्यान्वयन का उपयोग करना जारी रखता हूं, तो क्या मैं जोखिम में हूं? इस 'बग' के बारे में क्या?

Solutions Collecting From Web of "AntiXss.HtmlEncode और HttpUtility.HtmlEncode के बीच अंतर क्या है?"

मेरे पास आपके प्रश्न के लिए विशेष रूप से कोई जवाब नहीं है, लेकिन मैं यह इंगित करना चाहूंगा कि सफेद सूची बनाम ब्लैक सूची दृष्टिकोण न सिर्फ "अच्छा"। यह महत्वपूर्ण है। बहोत महत्वपूर्ण। जब सुरक्षा की बात आती है, तो हर चीज महत्वपूर्ण है। याद रखें कि क्रॉस-साइट स्क्रिप्टिंग और क्रॉस-साइट के साथ जालसाजी अनुरोध , भले ही आपकी साइट संवेदनशील डेटा नहीं दिखा रही हो, एक हैकर जावास्क्रिप्ट को इंजेक्शन करके और किसी अन्य साइट से संवेदनशील डेटा प्राप्त करने के लिए इसका उपयोग करके आपकी साइट को प्रभावित कर सकता है। तो यह सही करना महत्वपूर्ण है

OWASP दिशानिर्देश एक सफेद सूची दृष्टिकोण का उपयोग करके निर्दिष्ट करते हैं । पीसीआई अनुपालन दिशानिर्देश यह कोडन के मानकों में भी निर्दिष्ट करते हैं (क्योंकि वे ओ.डब्ल्यूएपी दिशा निर्देशों को दर्शाते हैं)

इसके अलावा, एंटीक्सस लाइब्रेरी का नया संस्करण एक अच्छा नया फ़ंक्शन है: .GetSafeHtmlFragment () जो उन मामलों के लिए अच्छा है जहां आप डेटाबेस में HTML को संग्रहीत करना चाहते हैं और इसे उपयोगकर्ता को HTML के रूप में प्रदर्शित किया है

साथ ही, "बग" के लिए, यदि आप ठीक से कोडिंग कर रहे हैं और सभी सुरक्षा दिशानिर्देशों का पालन कर रहे हैं, तो आप पैरामीट्रैज्ड संग्रहित प्रक्रियाओं का उपयोग कर रहे हैं, इसलिए एकल उद्धरण सही ढंग से संभाले जाएंगे, यदि आप ठीक से कोडिंग नहीं कर रहे हैं शेल्फ लाइब्रेरी आपको पूरी तरह से संरक्षित करने जा रही है एंटीज़स लाइब्रेरी का उपयोग करने के लिए एक उपकरण होना चाहिए, न कि ज्ञान के लिए विकल्प। लाइब्रेरी पर भरोसा करना आपके लिए सही है, अच्छे कलाकारों के बिना अच्छी पेंटिग्स को बदलने के लिए एक बहुत अच्छा पेंटब्रश की अपेक्षा होगी।

संपादित करें – जोड़ा गया

जैसा कि सवाल में पूछा गया, जहां एक्सपी एक्सएस आपकी रक्षा करेगा और एचटीपीपी योग्यता नहीं होगी:

HttpUtility.HtmlEncode और सर्वर HtmlEncode क्रॉस साइट स्क्रिप्टिंग को रोक नहीं सकता

यह लेखक के अनुसार है, यद्यपि। मैंने व्यक्तिगत रूप से इसका परीक्षण नहीं किया है


ऐसा लगता है कि आप अपने सुरक्षा दिशानिर्देशों में शामिल हैं, इसलिए यह आपको कुछ बताने की ज़रूरत नहीं है, लेकिन यदि एक कम अनुभवी डेवलपर वहां पढ़ते हैं, तो इसका कारण यह है कि मैं कहता हूं कि श्वेत-सूची का दृष्टिकोण महत्वपूर्ण है क्या यह।

अभी, आज, एचटीटीपीयूटीलिटी। एचटीएमएलएएनकोड सफलतापूर्वक हर एलेग को सफलतापूर्वक ब्लॉक कर सकते हैं, बस एन्कोडिंग < और > , और कुछ अन्य "ज्ञात संभावित असुरक्षित" वर्णों से, लेकिन कोई भी हमेशा इन्हें तोड़ने के नए तरीकों के बारे में सोचने का प्रयास कर रहा है। केवल ज्ञात-सुरक्षित (श्वेत सूची) सामग्री की अनुमति देना हर संभव असुरक्षित बिट इनपुट के बारे में सोचने की कोशिश करने से बहुत आसान है, एक हमलावर संभवत: आपको (काला-सूची दृष्टिकोण) पर फेंक सकता है।

आप दूसरे के ऊपर एक का उपयोग क्यों करते हैं, इस बात पर विचार करें कि एएनपीएसएसटी लाइब्रेरी को एएसपी.नेट ढांचे के मुकाबले अधिक बार रिलीज किया जाता है – जब से, डेविड स्ट्रैटन कहते हैं, 'कोई व्यक्ति हमेशा में टूटने के नए तरीकों के बारे में सोचने की कोशिश करता है' जब कोई एक के साथ आया है एंटीक्सएसएस लाइब्रेरी को इसके खिलाफ बचाव करने के लिए अद्यतन रिलीज प्राप्त करने की अधिक संभावना है।

Microsoft.Security.Application.AntiXss.HtmlEncode और System.Web.HttpUtility.HtmlEncode विधियों के बीच निम्न अंतर हैं:

  1. विरोधी एक्सएसएस क्रॉस-साइट स्क्रिप्टिंग (एक्सएसएस) हमलों के खिलाफ सुरक्षा प्रदान करने के लिए सफेद-लिस्टिंग तकनीक का उपयोग करता है, जिसे कभी-कभी सम्मिलित करने का सिद्धांत कहा जाता है। यह दृष्टिकोण पहले मान्य या स्वीकार्य वर्णों को परिभाषित करता है, और इस सेट के बाहर कुछ भी गैरकानूनी है (अवैध वर्ण या संभावित हमलों) System.Web.HttpUtility.HtmlEncode और उस नामस्थान में अन्य एन्कोडिंग विधियों को बहिष्करण के सिद्धांत का उपयोग करें और संभवतः खतरनाक जैसे <,>, & और 'वर्णों के रूप में निर्दिष्ट कुछ वर्णों को एन्कोड करें

  2. एंटी-एक्सएसएस लाइब्रेरी की सफेद (या सुरक्षित) वर्णों की सूची एक दर्जन से अधिक भाषाओं (ग्रीक और कॉप्टिक, सिरिलिक, सिरिलिक सप्लीमेंट, अर्मेनियाई, हिब्रू, अरबी, सिरिएक, अरबी अनुपूरक, थाना, एनकेओ और अधिक) का समर्थन करती है।

  3. एंटी-एक्सएसएस पुस्तकालय विशेष रूप से एक्सएसएस हमलों को कम करने के लिए डिज़ाइन किया गया है जबकि HttpUtility एन्कोडिंग पद्धतियां सुनिश्चित करने के लिए बनाई गई हैं ताकि एएसपीएनईटी आउटपुट एचटीएमएल को तोड़ न सके।

  4. निष्पादन – AntiXss.HtmlEncode() और AntiXss.HtmlEncode() बीच औसत डेल्टा +0.1 मिलीसेकंड प्रति लेनदेन है।

  5. एंटी-एक्सएसएस संस्करण 3.0 एक टेस्ट हार्नेस प्रदान करता है जो डेवलपर्स को एक्सएसएस सत्यापन और प्रदर्शन परीक्षण दोनों को चलाने की अनुमति देता है।

अधिकांश एक्सएसएस कमजोरियों (वास्तव में किसी प्रकार की भेद्यता) वास्तव में इस तथ्य पर आधारित हैं कि मौजूदा सुरक्षा में कुछ चीजें होने की उम्मीद नहीं थी। श्वेतसूची-केवल दृष्टिकोण डिफ़ॉल्ट रूप से इन परिदृश्यों को प्रबंधित करने के लिए अधिक उपयुक्त हैं।

हम माइक्रोसॉफ्ट के विंडोज लाइव साइट्स के लिए श्वेत-सूची दृष्टिकोण का उपयोग करते हैं। मुझे यकीन है कि ऐसे कई सुरक्षा हमले हैं जो हमने अभी तक नहीं सोचा हैं, इसलिए मैं पागल दृष्टिकोण से अधिक आरामदायक हूं। मुझे संदेह है कि ऐसे मामले हैं जहां काले-सूची वाली भेद्यताएं जो कि श्वेत-सूची में नहीं हुई थी, लेकिन मैं आपको विवरण नहीं बता सका।