सत्र निर्धारण क्या है?

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

सत्र निर्धारण हमला कैसे किया जाता है

उपयोगकर्ता का सत्र आईडी अक्सर वेबसाइट के प्रमाणीकरण का एक महत्वपूर्ण हिस्सा होता है और कई मामलों में यह एकमात्र डेटा होता है जो लॉग इन किए गए विशिष्ट उपयोगकर्ता की पहचान करता है। इसके साथ समस्या यह है कि यदि कोई हमलावर किसी अन्य उपयोगकर्ता की सत्र आईडी सेट या सीख सकता है, तो वे सत्र टोकन का उपयोग कर सकते हैं और फिर उपयोगकर्ता के रूप में कार्य करने में सक्षम हो सकते हैं।

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

एक और तरीका है कि हमलावर पीड़ित की सत्र आईडी की खोज कर सकता है यदि वह यूआरएल में दिखाई देता है। उदाहरण के लिए, यदि हमलावर पीड़ित को एक लिंक भेजने के लिए धोखा दे सकता है और इसमें पीड़ित की सत्र आईडी शामिल है, तो हमलावर पीड़ित के खाते तक पहुंचने के लिए सत्र आईडी का उपयोग कर सकता है। कुछ मामलों में, यह पूरी तरह से दुर्घटना से हो सकता है। उदाहरण के लिए, यदि उपयोगकर्ता URL को सत्र आईडी के साथ कॉपी करता है और उसे किसी मित्र या फ़ोरम में चिपकाता है, तो लिंक का अनुसरण करने वाले किसी भी उपयोगकर्ता को उपयोगकर्ता के खाते से साइन इन किया जाएगा।

सत्र निर्धारण उपचार

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

वेबसाइट को किसी भी संवेदनशील उपयोगकर्ता विवरण जैसे कि सत्र आईडी को URL में कभी नहीं रखने के लिए कॉन्फ़िगर किया जाना चाहिए और इसे GET या POST अनुरोध पैरामीटर में रखना चाहिए। यह उपयोगकर्ता को गलती से अपनी स्वयं की सत्र आईडी से समझौता करने से रोकता है। एक सत्र आईडी और एक अलग प्रमाणीकरण टोकन दोनों का उपयोग करके आप हमलावर को प्राप्त करने के लिए आवश्यक जानकारी की मात्रा को दोगुना कर सकते हैं और हमलावरों को ज्ञात सत्र आईडी के साथ सत्र तक पहुंचने से रोक सकते हैं।

यह महत्वपूर्ण है कि लॉगआउट बटन पर क्लिक करने पर उपयोगकर्ता के लिए सभी मान्य सत्र आईडी अमान्य हो जाते हैं। प्रत्येक अनुरोध पर सत्र आईडी को पुन: उत्पन्न करना संभव है, यदि पिछले सत्र आईडी अमान्य हैं तो यह हमलावरों को ज्ञात सत्र आईडी का उपयोग करने से भी रोकता है। यदि कोई उपयोगकर्ता अपनी स्वयं की सत्र आईडी का खुलासा करता है तो यह दृष्टिकोण खतरे की खिड़की को भी काफी कम कर देता है।

इनमें से कई दृष्टिकोणों को सक्षम करके, एक रक्षा-गहन रणनीति इस मुद्दे को सुरक्षा जोखिम के रूप में समाप्त कर सकती है।