क्रॉस-साइट स्क्रिप्टिंग (एक्सएसएस) हमले क्लाइंट-साइड स्क्रिप्ट कोड इंजेक्शन द्वारा वेब पेज सत्यापन में भेद्यता का फायदा उठाते हैं। सामान्य भेद्यताएं जो आपके वेब अनुप्रयोगों को क्रॉस-साइट स्क्रिप्टिंग हमलों के लिए अतिसंवेदनशील बनाती हैं उनमें इनपुट को सही ढंग से मान्य करने, आउटपुट एन्कोड करने में विफल होने और साझा डेटाबेस से पुनर्प्राप्त डेटा पर भरोसा करने में विफलता शामिल है। क्रॉस-साइट स्क्रिप्टिंग हमलों के खिलाफ अपने एप्लिकेशन की सुरक्षा के लिए, मान लें कि सभी इनपुट दुर्भावनापूर्ण है। सभी इनपुट को सीमित और मान्य करें। सभी आउटपुट को एन्कोड करें, संभावित रूप से, HTML वर्णों को शामिल कर सकते हैं। इसमें फाइलों और डेटाबेस से डेटा पढ़ा जाता है।
क्रॉस-साइट स्क्रिप्टिंग हमले के सबसे गंभीर उदाहरणों में से एक तब होता है जब कोई हमलावर प्रमाणीकरण कुकी को पुनर्प्राप्त करने के लिए स्क्रिप्ट लिखता है जो किसी विश्वसनीय साइट तक पहुंच प्रदान करता है और फिर हमलावर को ज्ञात वेब पते पर कुकी पोस्ट करता है। यह हमलावर को वैध उपयोगकर्ता की पहचान को धोखा देने और वेबसाइट पर अवैध पहुंच प्राप्त करने में सक्षम बनाता है।
आम कमजोरियों कि आपके वेब अनुप्रयोग क्रॉस-साइट स्क्रिप्टिंग हमलों के लिए अतिसंवेदनशील बनाते शामिल हैं:
कदम
का सारांश क्रॉस-साइट स्क्रिप्टिंग रोकने के लिए, निम्न चरणों का पालन:
चरण 1. चेक कि ASP.NET अनुरोध सत्यापन सक्षम है।
चरण 2. समीक्षा एएसपी.NET कोड जो HTML आउटपुट उत्पन्न करता है।
चरण 3. निर्धारित करें कि HTML आउटपुट में इनपुट पैरामीटर शामिल हैं या नहीं।
चरण 4। संभावित रूप से खतरनाक HTML टैग और विशेषताओं की समीक्षा करें।
चरण 5। Countermeasures का मूल्यांकन करें।
विस्तार के लिए दूसरे संदर्भ देखें।
संदर्भ:
Cross-site scripting explained: How to prevent XSS attacks
How To: Prevent Cross-Site Scripting in ASP.NET
स्रोत
2013-03-18 10:43:33
आप हर इनपुट या शायद यूआरएल एनकोड यूआरएल को पार्स सकता है। लेकिन मुझे यकीन नहीं है कि यह एक्सएसएस को रोक देगा। – rekire