2010-06-19 16 views
7

मुझे नहीं पता कि अब और क्या सोचना है। यह उन लोगों की तरह लगता है जिन्होंने जावास्क्रिप्ट को अपने तरीके से बाहर कर दिया ताकि इसे दस लाख अलग-अलग तरीकों से लिखा जा सके ताकि हैकर्स का क्षेत्र का दिन हो।आप इन सभी तरीकों से कैसे लड़ते हैं? - जावास्क्रिप्ट और इसके लाखों विभिन्न तरीकों से आप इसे लिख सकते हैं

मुझे अंत में एचटीएमएल चपलता पैक का उपयोग करके मेरी सफेद सूची मिली। यह

<scrpit></script> 

निकाल देना चाहिए यह मेरी सफेद सूची में नहीं है तथा कोई भी onclick, onmouse और आदि

हालांकि अब यह आप विशेषता टैग में जावास्क्रिप्ट लिख सकते हैं लगता है के रूप में।

<IMG SRC="javascript:alert('hi');"> 

और जब से मैं एसआरसी विशेषता देता हूं मेरी सफेद सूची इस पर मेरी सहायता नहीं कर सकती है। तो मैं अंत में सभी वैध विशेषताओं के माध्यम से जाने और उनके अंदर देखने के विचार के साथ आया था।

तो यह प्रत्येक HTML टैग (इसलिए src, href और आदि) के लिए मेरे सभी अनुमत गुण पाएगा।

मुझे फिर भीतरी टेक्स्ट मिला और इसे लोअरकेस पर रखा गया। मैंने फिर "जावास्क्रिप्ट" के लिए इस स्ट्रिंग पर इंडेक्स चेक किया था।

यदि कोई अनुक्रमणिका मिली तो मैंने उस अनुक्रमणिका में शुरुआत की और उस इंडेक्स से प्रत्येक चरित्र को हटा दिया। तो उपरोक्त मामले में विशेषता एसआरसी = "" के साथ छोड़ी जाएगी।

अब ऐसा लगता है कि काफी अच्छा है क्योंकि आप

जावा स्क्रिप्ट jav ascript

और शायद हर पत्र के बीच रिक्ति की तरह कुछ कर सकते हैं नहीं है।

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

तो यह शीर्ष पर बंद आप इन सभी अन्य महान तरीके भी

<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;> // will work apparently 
    <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041> // will work apparently 
    <IMG SRC="jav ascript:alert('XSS');"> // will work apparently 
    <IMG SRC="jav&#x09;ascript:alert('XSS');">// will work apparently 
    <IMG SRC="jav&#x0A;ascript:alert('XSS');"> // will work apparently 
    <IMG SRC="jav&#x0D;ascript:alert('XSS');"> // will work apparently 

http://ha.ckers.org/xss.html

मैं जानता हूँ कि यह (मैं एक XSS asp.net MVC के बनाने नहीं कर रहा हूँ कुछ क्रॉस पटकथा हमले के लिए है क्या कर सकते हैं यह पहले से ही अच्छा काम करता है) लेकिन मुझे नहीं लगता कि इसका उपयोग अन्य चीजों के लिए क्यों नहीं किया जा सकता है जैसे कि उन सभी उदाहरणों में यह अलर्ट बनाता है ताकि इसका इस्तेमाल किसी और चीज़ के लिए किया जा सके।

तो मुझे कोई संकेत नहीं है कि इनमें से किसी भी को कैसे जांचें और हटाएं।

मैं सी # का उपयोग कर रहा हूं लेकिन मुझे नहीं पता कि इनमें से किसी को कैसे रोकें और सी # में कुछ भी नहीं पता जो मेरी मदद कर सकता है।

+0

शायद स्रोत के लिए एक उचित-सेटेड-यूआरएल जांच करें? –

+2

यह विषय कई तरीकों से है ** ** एचटीएमएल ** कोड जेएस निष्पादित कर सकता है, जेएस के बारे में नहीं। एक बार के लिए, जेएस दोषी नहीं है :) – FelipeAls

उत्तर

6

लगता है कि आप जावास्क्रिप्ट को साफ़ करना चाहते हैं, और इसके लिए वास्तव में आपके लिए सी #/नेट में एक अच्छा समाधान है।

कोडप्लेक्स से Microsoft Web Protection Library डाउनलोड करें।

आप Microsoft.Security.Application.AntiXss.GetSafeHtmlFragment(html) के माध्यम से अपने html टुकड़ा चलाते हैं तो आप इस निर्गम के साथ खत्म हो जाएगा:

<img src=""> // will work apparently 
<img src=""> // will work apparently 
<img src=""> // will work apparently 
<img src="">// will work apparently 
<img src=""> // will work apparently 
<img src=""> // will work apparently 

सभी स्क्रिप्ट साफ।

+0

हम्म यह अच्छा लग रहा है। यह एक सफेद सूची के बारे में बात करता है क्या इसमें सफेद लिस्टिंग क्षमता है? मैंने एचटीएमएल चपलता पैक के माध्यम से एक सफेद सूची बनाई और अब मैं सोच रहा हूं कि यह सब कुछ कर सकता था। – chobo2

+0

आपके पास इसका उपयोग करने के तरीके और यह क्या कर सकता है इसके बारे में कोई ट्यूटोरियल है? – chobo2

+0

मैंने इसका इतना उपयोग नहीं किया है, लेकिन http://wpl.codeplex.com/SourceControl/list/changesets से स्रोत कोड डाउनलोड करें और दस्तावेज़ और नमूना ऐप्स देखें। –

0

एक पेज REDIR कहना अब फार्म जमा करने के बाद सभी src विशेषता के मान ले और redir?src=theExactValueHere अब कि REDIR कार्यक्रम पहले प्राप्त पैरामीटर src का मूल्य serverside से (अंततः वास्तविक src विशेषता का मूल्य है) डाउनलोड करता है के साथ बदल कर और फिर आगे की सामग्री के रूप में यह ठीक उसी एमआईएम/प्रकार समेत है, यह विशेषता के मूल्य पर कुछ जांच भी कर सकता है और फिर हेडर रीडायरेक्शन भी कर सकता है।

और भी तरीके हैं लेकिन मुझे लगता है कि यह सबसे सरल और विश्वसनीय भी होगा।

संबंधित मुद्दे