एक्सएसएस और एसक्यूएल इंजेक्शन के बीच मुख्य अंतर यह है कि एक्सएसएस (या क्रॉस साइट स्क्रिप्टिंग) एक प्रकार की कंप्यूटर सुरक्षा भेद्यता है जो वेबसाइट पर दुर्भावनापूर्ण कोड को इंजेक्ट करती है ताकि कोड उस वेबसाइट के उपयोगकर्ताओं में चलता रहे। ब्राउज़र जबकि SQL इंजेक्शन एक अन्य वेबसाइट हैकिंग तंत्र है जो संसाधनों तक पहुंच प्राप्त करने या डेटा में परिवर्तन करने के लिए वेब फॉर्म इनपुट बॉक्स में SQL कोड जोड़ता है।
हर संगठन वेबसाइटों का रखरखाव करता है, जो व्यवसाय और लाभप्रदता को बेहतर बनाने में मदद करती हैं। एक वेब एप्लिकेशन में क्लाइंट साइड और सर्वर साइड होता है। क्लाइंट साइड में एप्लिकेशन के साथ इंटरैक्ट करने के लिए यूजर इंटरफेस शामिल है।सर्वर साइड में डेटाबेस शामिल है। आमतौर पर, ऐसे खतरे होते हैं जो एप्लिकेशन के समुचित कार्य को प्रभावित करते हैं। उनमें से दो XSS और SQL इंजेक्शन हैं।
एक्सएसएस क्या है?
XSS का मतलब क्रॉस साइट स्क्रिप्टिंग है, और यह सबसे आम वेबसाइट हमलों में से एक है। यह उस विशेष वेबसाइट के साथ-साथ उस वेबसाइट के उपयोगकर्ताओं को भी प्रभावित कर सकता है। XSS हमले के लिए दुर्भावनापूर्ण कोड लिखने के लिए सबसे आम भाषा जावास्क्रिप्ट है। XSS उपयोगकर्ता की कुकीज़ चुरा सकता है, उपयोगकर्ता सेटिंग बदल सकता है, विभिन्न मैलवेयर डाउनलोड प्रदर्शित कर सकता है और बहुत कुछ कर सकता है।
चित्र 01: XSS
एक्सएसएस दो प्रकार के होते हैं। वे लगातार और गैर-निरंतर XSS हैं। लगातार XSS में, दुर्भावनापूर्ण कोड डेटाबेस में सर्वर पर सहेजता है। फिर यह सामान्य पेज पर चलेगा। गैर-निरंतर XSS में, इंजेक्ट किया गया दुर्भावनापूर्ण कोड HTTP अनुरोध के माध्यम से सर्वर को भेजा जाएगा।आमतौर पर, ये हमले खोज क्षेत्रों में हो सकते हैं।
एसक्यूएल इंजेक्शन क्या है?
एसक्यूएल इंजेक्शन एक अन्य वेबसाइट हैकिंग तंत्र है। यह वेब पेज इनपुट के माध्यम से SQL कथनों में एक दुर्भावनापूर्ण कोड डालता है। एक वेबसाइट में उपयोगकर्ता इनपुट एकत्र करने के लिए फॉर्म होते हैं। उपयोगकर्ता से उपयोगकर्ता नाम, उपयोगकर्ता आईडी जैसे इनपुट के लिए पूछते समय वह नाम और उसके बजाय एक SQL कथन प्रदान कर सकता है। तो, यह वेबसाइट डेटाबेस पर चल सकता है।
चित्र 02: SQL इंजेक्शन
इसके अलावा, SQL इंजेक्शन के कुछ उदाहरण इस प्रकार हैं;
उपयोगकर्ता आईडी के माध्यम से किसी उपयोगकर्ता को खोजने की स्थिति हो सकती है। यदि कोई इनपुट सत्यापन विधि नहीं है, तो उपयोगकर्ता गलत इनपुट दर्ज कर सकता है। यदि वह उपयोगकर्ता आईडी को 100 या 1=1 के रूप में दर्ज करता है, तो यह निम्नानुसार एक SQL कथन उत्पन्न करेगा।
उन उपयोगकर्ताओं में सेचुनें जहां उपयोगकर्ता आईडी=100 या 1=1;
यह SQL कथन डेटाबेस में सभी उपयोगकर्ताओं को वापस कर सकता है क्योंकि 1=1 हमेशा सत्य होता है। यदि यह एक हैकर था और यदि डेटाबेस में पासवर्ड जैसे गोपनीय डेटा होते हैं, तो वह उपयोगकर्ता नाम और पासवर्ड तक पहुंच प्राप्त कर सकता है। यह SQL इंजेक्शन के लिए एक उदाहरण है।
XSS और SQL इंजेक्शन में क्या अंतर है?
XSS वेब अनुप्रयोगों में कंप्यूटर सुरक्षा भेद्यता का एक प्रकार है जो हमलावरों को क्लाइंट-साइड स्क्रिप्ट को अन्य उपयोगकर्ताओं द्वारा देखे गए वेब पेजों में इंजेक्ट करने में सक्षम बनाता है। SQL इंजेक्शन एक कोड इंजेक्शन तकनीक है, जो डेटा संचालित अनुप्रयोगों पर हमला करती है जो निष्पादन के लिए दायर की गई प्रविष्टि में SQL कथन सम्मिलित करते हैं।
XSS वेबसाइट में दुर्भावनापूर्ण कोड डालता है, ताकि ब्राउज़र द्वारा उस वेबसाइट के उपयोगकर्ताओं में कोड चलता रहे। दूसरी ओर, SQL इंजेक्शन संसाधनों तक पहुँच प्राप्त करने या डेटा में परिवर्तन करने के लिए एक वेब फॉर्म इनपुट बॉक्स में SQL कोड जोड़ता है।यह XSS और SQL इंजेक्शन के बीच मुख्य अंतर है। XSS के लिए सबसे आम भाषा जावास्क्रिप्ट है जबकि SQL इंजेक्शन SQL का उपयोग करता है।
सारांश - एक्सएसएस बनाम एसक्यूएल इंजेक्शन
एक्सएसएस और एसक्यूएल इंजेक्शन के बीच का अंतर यह है कि एक्सएसएस वेबसाइट पर दुर्भावनापूर्ण कोड इंजेक्ट करता है, ताकि ब्राउज़र द्वारा उस वेबसाइट के उपयोगकर्ताओं में कोड निष्पादित किया जा सके जबकि एसक्यूएल इंजेक्शन वेब फॉर्म इनपुट बॉक्स में एसक्यूएल कोड जोड़ता है। संसाधनों तक पहुंच प्राप्त करें या डेटा में परिवर्तन करें।