भेद्यता ओथ | अपने वेब एप्लिकेशन में सुरक्षित प्राधिकरण को कैसे कार्यान्वित करें

Anonim
भेद्यता ओथ | अपने वेब एप्लिकेशन में सुरक्षित प्राधिकरण को कैसे कार्यान्वित करें 2740_1

यह आलेख प्रसिद्ध ओउथ कमजोरियों से निपटेंगे। पाठक भी सीखेंगे कि वेब एप्लिकेशन में सुरक्षित और सुरक्षित प्राधिकरण को कैसे कार्यान्वित किया जाए।

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

परिचय

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

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

ओएथ सेवा प्रदाताओं ने आवेदन डेवलपर्स को अपने कार्यक्रमों की सुरक्षा का सामना करने के कई कारणों से छोड़ दिया। वास्तव में, शुरुआत में संरक्षित ओउथ सेवा, इसकी स्थापना की प्रक्रिया में गलत तरीके से लागू, घुसपैठियों के लिए एक आसान लक्ष्य बन सकती है। इस तरह की preocupacy उपयोगकर्ताओं के व्यक्तिगत डेटा की चोरी का कारण बन जाएगा।

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

ओराथ टोकेकी चोरी रेफरर हेडर का उपयोग कर

जब अनुप्रयोग OAUTH सर्वर पर उपयोगकर्ता की तरफ से प्राधिकरण का अनुरोध करता है, तो किसी व्यक्ति को प्रवेश करने के लिए कोड प्राप्त होता है और बाद में चेक के लिए सर्वर पर वापस भेजता है। यदि काम के दौरान उपयोगकर्ता को किसी अन्य पृष्ठ पर रीडायरेक्ट किया जाएगा, तो कोड HTTP अनुरोध के "रेफरर" हेडर में देखा जाएगा। इस प्रकार, कोड बाहरी वेबसाइट पर गिर जाएगा, जो ओएथ सर्वर पर पंजीकृत उपयोगकर्ता डेटा को धमकी देगा।

नोट: रेफरर हेडर एक HTTP क्वेरी हेडर है, यह यूआरएल होस्ट ट्रांसमिट करता है जिससे अनुरोध भेजा जाता है।

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

Redirect_uri पैरामीटर का उपयोग कर ओथ टोके चोरी

एप्लिकेशन OAuth सर्वर को अनुरोध भेजकर प्राधिकरण प्रक्रिया को शुरू करता है:

https://www.example.com/signin/authorize ?[..., इस समय&redrective_uri=httpps://demo.example.com/loginsuccessful।

क्वेरी में उपयोगकर्ता को अपनी सहमति देने के बाद आवेदन पर वापस जाने के लिए ओएथ सर्वर द्वारा उपयोग किए जाने वाले "Redirect_URI" पैरामीटर होते हैं। यदि इस पैरामीटर का मान नियंत्रित नहीं है या चेक नहीं किया गया है, तो हमलावर आसानी से इसे बदल सकता है और अपनी वेबसाइट पर अनुरोध को रीडायरेक्ट कर सकता है, जहां यह टोकन को संसाधित करने के लिए एक विशेष कार्यक्रम का उपयोग करता है और सीमित संसाधन तक पहुंच प्राप्त करता है।

https://www.example.com/signin/authorize ?[..डी

कभी-कभी समान यूआरएल अवरुद्ध होते हैं। हमलावर खुले यूआरएल पर प्राप्त डेटा को पुनर्निर्देशित कर सकता है, इस तरह:

https://www.example.com/oauth20_authorize.srf? [[&redirect_uri=httppps://accounts.google.com/backtoouthsubtarget?next=htpset://evil.com।

या यह:

https://www.example.com/oauth2/authorize? [...]% iRect_uri = https% 3a% 2f% 2fapps.facebook.com% 2fattacker% 2f।

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

क्रॉस-लाइन अनुरोधों का जालसाजी

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

यह देखने योग्य है कि कैसे सीएसआरएफ हमला ओराउथ पर किया जाता है और "राज्य" पैरामीटर के रूप में भेद्यता के प्रभावों को कम करने के लिए उपयोग किया जा सकता है।

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

तो, मैं "राज्य" पैरामीटर का उपयोग करके इस स्थिति को कैसे रोक सकता हूं?

एप्लिकेशन को एक ऐसा मान बनाना होगा जो किसी भी तरह स्रोत खाते के आधार पर है (उदाहरण के लिए, उपयोगकर्ता सत्र हैश कुंजी का उपयोग करें)। यह इतना महत्वपूर्ण नहीं है कि यह क्या है, मुख्य बात यह है कि मूल्य अद्वितीय है और मूल उपयोगकर्ता के बारे में निजी जानकारी का उपयोग करके उत्पन्न होता है। इसे "राज्य" पैरामीटर को सौंपा गया है।

यह मान रीडायरेक्ट करते समय सेवा प्रदाता को प्रेषित किया जाता है। अब हैकर पीड़ित को यूआरएल खोलने के लिए आमंत्रित करता है, जिसे उसने बरकरार रखा था।

प्राधिकरण कोड जारी किया गया है और "राज्य" पैरामीटर के साथ सत्र में ग्राहक को वापस भेज दिया गया है।

क्लाइंट सत्र जानकारी के आधार पर पैरामीटर मान उत्पन्न करता है और इसे "राज्य" मान के साथ तुलना करता है, जिसे सेवा प्रदाता को प्राधिकरण अनुरोध से वापस भेजा गया था। यह मान क्वेरी में "राज्य" पैरामीटर से मेल नहीं खाता है, क्योंकि यह केवल वर्तमान सत्र के बारे में जानकारी के आधार पर उत्पन्न किया गया है। नतीजतन, प्राप्त मूल्य सिस्टम द्वारा स्वीकार नहीं किया जाता है।

ओएथ को लागू करते समय अन्य भेद्यताओं का पता चला कि "Redirect_uri" पैरामीटर का उपयोग करके एक्सएसएस (क्रॉस-साइट स्क्रिप्टिंग) करने की क्षमता शामिल है, ओएथ निजी कुंजी सेटिंग (कभी-कभी मोबाइल एप्लिकेशन को विघटित करने पर कुंजी प्राप्त की जा सकती है) और प्राधिकरण कोड नियम उल्लंघन (जब प्राधिकरण कोड को कई एक्सेस टोकन जारी करने के लिए एक से अधिक बार इस्तेमाल किया जा सकता है)। ये भेद्यता ऊपर वर्णित लोगों की तुलना में कम आम हैं, लेकिन यह उन्हें कम खतरनाक नहीं बनाती है। डेवलपर को अपने वेब एप्लिकेशन के विश्वसनीय संचालन को सुनिश्चित करने के लिए सभी आवश्यक प्रथाओं को जानना चाहिए।

अनुवादित लेख के लेखक: साइमन सलीबा।

महत्वपूर्ण! अकादमिक उद्देश्यों के लिए पूरी तरह से जानकारी। कृपया कानून का पालन करें और अवैध उद्देश्यों के लिए इस जानकारी को लागू न करें।

Cisoclub.ru पर अधिक रोचक सामग्री। हमारी सदस्यता लें: फेसबुक | वीके | ट्विटर | इंस्टाग्राम | तार | जेन | मैसेंजर | आईसीक्यू नया | यूट्यूब | पल्स।

अधिक पढ़ें