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