Cross-Site Scripting (XSS) Vulnerability Explained in Hindi & English | वेब सुरक्षा में क्रॉस-साइट स्क्रिप्टिंग (XSS) कमजोरी (Complete Notes for Data Science & Information Security Students)


वेब सुरक्षा में क्रॉस-साइट स्क्रिप्टिंग (Cross-Site Scripting - XSS) कमजोरी

परिचय:

Cross-Site Scripting (XSS) एक वेब सुरक्षा कमजोरी है जो तब उत्पन्न होती है जब कोई वेबसाइट उपयोगकर्ता द्वारा दी गई जानकारी को बिना सही जाँच या फ़िल्टर किए हुए ब्राउज़र पर प्रदर्शित कर देती है। हमलावर (Attacker) इसका लाभ उठाकर वेबसाइट में Malicious Script इंजेक्ट कर सकता है जो उपयोगकर्ता के ब्राउज़र पर चलती है।

इस हमले से हमलावर उपयोगकर्ता की पहचान, पासवर्ड, कुकीज़, या अन्य गोपनीय जानकारी चुरा सकता है। XSS वेब एप्लिकेशन सुरक्षा में सबसे सामान्य कमजोरियों में से एक है।


XSS का उद्देश्य:

  • उपयोगकर्ता के डेटा तक अनधिकृत पहुँच प्राप्त करना।
  • सेशन हाईजैकिंग (Session Hijacking) करना।
  • उपयोगकर्ता को फर्जी वेबसाइट पर रीडायरेक्ट करना।
  • क्लाइंट-साइड कोड में परिवर्तन करके एप्लिकेशन को धोखा देना।

XSS हमले के प्रकार:

1️⃣ Stored XSS (Persistent XSS):

  • Malicious Script सर्वर के डेटाबेस में सहेजा जाता है।
  • जब कोई उपयोगकर्ता वह पेज लोड करता है, तो Script अपने आप चल जाती है।
  • उदाहरण: कमेंट बॉक्स, यूजर प्रोफाइल, या फ़ोरम।

2️⃣ Reflected XSS (Non-Persistent XSS):

  • Script URL या Query String के माध्यम से भेजी जाती है।
  • जब उपयोगकर्ता लिंक पर क्लिक करता है, तो Script रन होती है।
  • उदाहरण: फ़िशिंग ईमेल में एम्बेडेड लिंक।

3️⃣ DOM-Based XSS:

  • यह हमला क्लाइंट-साइड स्क्रिप्ट (जैसे JavaScript) पर आधारित होता है।
  • हमलावर DOM (Document Object Model) को Modify करता है।
  • उदाहरण: इनपुट वैल्यूज़ को गलत तरीके से हैंडल करना।

XSS हमले का कार्य सिद्धांत:

1️⃣ उपयोगकर्ता किसी वेबसाइट पर डेटा इनपुट करता है।
2️⃣ सर्वर उस डेटा को बिना Validation के पेज पर दिखाता है।
3️⃣ हमलावर उस डेटा में Script Inject करता है।
4️⃣ जब अन्य उपयोगकर्ता वह पेज देखते हैं, तो Script उनके ब्राउज़र पर चल जाती है।
5️⃣ Script कुकीज़ या सेशन डेटा चुरा लेती है।

उदाहरण:

मान लीजिए किसी फॉर्म में यह इनपुट लिया जा रहा है:

<input type='text' name='username'>

यदि कोई हमलावर यह कोड डालता है:

<script>alert('Hacked!')</script>

और वेबसाइट उस इनपुट को बिना फ़िल्टर किए पेज पर दिखाती है, तो यह Script चल जाएगी।


XSS से बचाव के तरीके:

1️⃣ Input Validation:

  • सभी यूजर इनपुट को Validate और Sanitize करें।
  • HTML, JavaScript, और SQL Characters को Escape करें।

2️⃣ Output Encoding:

  • डेटा को ब्राउज़र पर दिखाने से पहले Encode करें।

3️⃣ Content Security Policy (CSP):

  • एक Security Header जो अनधिकृत Script Execution को रोकता है।

4️⃣ HttpOnly Cookies:

  • Cookies को JavaScript से Access न होने दें।

5️⃣ Web Application Firewall (WAF):

  • हमले के पैटर्न को पहचानकर ब्लॉक करता है।

वास्तविक उदाहरण:

  • eBay, Twitter, और Yahoo जैसी वेबसाइटों पर XSS हमलों के कई केस सामने आ चुके हैं।
  • OWASP (Open Web Application Security Project) के अनुसार XSS वेब एप्लिकेशन की Top 10 कमजोरियों में शामिल है।

लाभ और सीमाएँ:

  • लाभ: डेवलपर्स के लिए Security Awareness बढ़ाता है।
  • सीमाएँ: यदि इनपुट Validation ठीक से न हो, तो खतरा बना रहता है।

निष्कर्ष:

Cross-Site Scripting (XSS) वेब एप्लिकेशन सुरक्षा की एक गंभीर कमजोरी है। यह उपयोगकर्ता की जानकारी चुराने या एप्लिकेशन के व्यवहार को बदलने में सक्षम है। XSS से बचाव के लिए Input Validation, CSP, और Encryption जैसी तकनीकों का प्रयोग अनिवार्य है। Data Science और Information Security के छात्रों के लिए यह विषय साइबर सुरक्षा के व्यावहारिक पहलुओं को समझने में अत्यंत उपयोगी है।

Related Post