जैसे URL पर निर्देशित किया जाता है, तो document.write() सीधे दुर्भावनापूर्ण स्क्रिप्ट को प्रस्तुत करेगा पृष्ठ।
const userInput = sanitizeHtml(getUserInput());
इनपुट को स्वच्छ करने के लिए DOMPurify जैसी लाइब्रेरी का उपयोग करें।
सीएसपी हेडर का उदाहरण:
Content-Security-Policy: default-src \\'self\\'; script-src \\'self\\' https://trusted.com
सीएसआरएफ एक ऐसा हमला है जहां एक हमलावर उपयोगकर्ता को अनजाने में दुर्भावनापूर्ण अनुरोध सबमिट करने के लिए प्रेरित करता है। यह इस तथ्य का फायदा उठाता है कि एक ब्राउज़र स्वचालित रूप से अनुरोधों के साथ कुकीज़ जैसे क्रेडेंशियल शामिल करता है, जिससे हमलावरों को उपयोगकर्ताओं की ओर से कार्रवाई करने की अनुमति मिलती है।
संवेदनशील फॉर्म का उदाहरण:
यदि फॉर्म असुरक्षित है, तो एक हमलावर लॉग-इन उपयोगकर्ता की ओर से अनुरोध सबमिट करने के लिए किसी अन्य साइट पर एक नकली फॉर्म बना सकता है।
Set-Cookie: sessionId=abc123; SameSite=Strict
असुरक्षित डिसेरिएलाइज़ेशन तब होता है जब एप्लिकेशन में ऑब्जेक्ट बनाने के लिए अविश्वसनीय डेटा का उपयोग किया जाता है, जिससे हमलावरों को मनमाना कोड निष्पादित करने या विशेषाधिकार बढ़ाने की अनुमति मिलती है।
असुरक्षित कोड का उदाहरण:
const user = JSON.parse(dataFromUser);
यदि डेटाफ्रॉमयूजर के साथ छेड़छाड़ की जाती है, तो डीसेरिएलाइजेशन प्रक्रिया के परिणामस्वरूप अनपेक्षित वस्तुओं का निर्माण या खतरनाक तरीकों का निष्पादन हो सकता है।
कुछ मामलों में, सर्वर-साइड जावास्क्रिप्ट निष्पादन की आवश्यकता होती है, जैसे कि Node.js वातावरण में। सर्वर-साइड जावास्क्रिप्ट इंजेक्शन तब होता है जब अविश्वसनीय डेटा को सर्वर पर कोड के रूप में निष्पादित किया जाता है, जिससे कोड निष्पादन कमजोरियां पैदा होती हैं।
असुरक्षित कोड का उदाहरण:
eval(userInput);
यदि कोई हमलावर यूजरइनपुट को नियंत्रित करता है, तो वे सर्वर पर दुर्भावनापूर्ण कोड इंजेक्ट और निष्पादित कर सकते हैं।
const safeFunction = new Function(\\'return 2 2\\');
प्रमाणीकरण उपयोगकर्ता की पहचान सत्यापित करने की प्रक्रिया है। टूटा हुआ प्रमाणीकरण तब होता है जब किसी एप्लिकेशन में कमजोर या त्रुटिपूर्ण प्रमाणीकरण तंत्र होता है, जिससे हमलावरों को वैध उपयोगकर्ताओं का प्रतिरूपण करने की अनुमति मिलती है।
मल्टी-फैक्टर ऑथेंटिकेशन (एमएफए) का उपयोग करें: उपयोगकर्ताओं को कई तरीकों (जैसे, पासवर्ड एसएमएस कोड) का उपयोग करके अपनी पहचान सत्यापित करने की आवश्यकता होती है।
सुरक्षित सत्र प्रबंधन: सुरक्षित, केवल HTTP और एन्क्रिप्टेड कुकीज़ का उपयोग करें। सत्र निर्धारण हमलों को रोकने के लिए लॉगिन के बाद सत्र टोकन पुन: उत्पन्न करें।
res.cookie(\\'sessionId\\', sessionId, { httpOnly: true, secure: true });
संवेदनशील डेटा जैसे पासवर्ड, क्रेडिट कार्ड नंबर और एपीआई कुंजी को सावधानी से संभालना चाहिए। एक्सपोज़र तब हो सकता है जब यह डेटा असुरक्षित रूप से संग्रहीत या प्रसारित किया जाता है।
HTTPS का उपयोग करें: सुनिश्चित करें कि सर्वर और क्लाइंट के बीच सभी संचार TLS (HTTPS) का उपयोग करके एन्क्रिप्ट किया गया है।
रहस्यों के लिए पर्यावरण चर: एपीआई कुंजी, डेटाबेस क्रेडेंशियल और अन्य रहस्यों को अपने एप्लिकेशन में हार्ड-कोड करने के बजाय पर्यावरण चर या सुरक्षित वॉल्ट में संग्रहीत करें।
export API_KEY=your_api_key
यह भेद्यता तब होती है जब कोई हमलावर उपयोगकर्ताओं को किसी दुर्भावनापूर्ण साइट पर पुनर्निर्देशित करने के लिए URL में हेरफेर करता है।
असुरक्षित कोड का उदाहरण:
res.redirect(req.query.redirectUrl);
यदि यूआरएल मान्य नहीं है, तो एक हमलावर उपयोगकर्ताओं को फ़िशिंग साइट पर भेज सकता है।
श्वेतसूची यूआरएल: केवल विश्वसनीय, पूर्वनिर्धारित यूआरएल पर रीडायरेक्ट की अनुमति देते हैं।
सुरक्षित रीडायरेक्ट विधियों का उपयोग करें: उपयोगकर्ताओं को रीडायरेक्ट करने से पहले सुनिश्चित करें कि रीडायरेक्ट तर्क जांचता है कि यूआरएल सुरक्षित है या नहीं।
नियमित सुरक्षा ऑडिट और प्रवेश परीक्षण: नियमित रूप से ऑडिट और प्रवेश परीक्षण आयोजित करके कमजोरियों के लिए अपने आवेदन का परीक्षण करें।
अपडेट निर्भरताएं: लाइब्रेरी, फ्रेमवर्क और पैकेज को अपडेट रखें। अपने प्रोजेक्ट निर्भरता में कमजोरियों की जांच के लिए एनपीएम ऑडिट जैसे टूल का उपयोग करें।
न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें: अपने एप्लिकेशन के भीतर घटकों और उपयोगकर्ताओं के पास मौजूद अनुमतियों और पहुंच को सीमित करें।
सुरक्षा हेडर: सुरक्षा में सुधार के लिए HTTP सुरक्षा हेडर जैसे एक्स-कंटेंट-टाइप-ऑप्शंस, एक्स-फ्रेम-ऑप्शंस और स्ट्रिक्ट-ट्रांसपोर्ट-सिक्योरिटी का उपयोग करें।
X-Frame-Options: DENYStrict-Transport-Security: max-age=63072000; includeSubDomains; preload
जावास्क्रिप्ट एप्लिकेशन शक्तिशाली होते हुए भी विभिन्न कमजोरियों से ग्रस्त हैं जिनका हमलावर फायदा उठा सकते हैं। इन सामान्य कमजोरियों को समझकर और कम करके, डेवलपर्स अधिक सुरक्षित एप्लिकेशन बना सकते हैं जो उपयोगकर्ताओं और डेटा की सुरक्षा करते हैं। नियमित सुरक्षा ऑडिट, सुरक्षित कोडिंग प्रथाएं और आधुनिक सुरक्षा सुविधाओं का उपयोग आपको संभावित खतरों से आगे रहने में मदद करेगा।
आगे पढ़ने के लिए, डेवलपर्स को OWASP की शीर्ष दस कमजोरियों पर नजर रखनी चाहिए और इन जानकारियों को अपनी विकास प्रथाओं में शामिल करना चाहिए।
","image":"http://www.luping.net/uploads/20240916/172648836966e81f3179798.jpg","datePublished":"2024-11-07T21:09:09+08:00","dateModified":"2024-11-07T21:09:09+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}जावास्क्रिप्ट वेब विकास के लिए सबसे लोकप्रिय भाषाओं में से एक है, लेकिन इसके व्यापक उपयोग के कारण यह हमलावरों के लिए एक आम लक्ष्य भी है। सुरक्षा उल्लंघनों से बचने के लिए जावास्क्रिप्ट अनुप्रयोगों को सुरक्षित करना महत्वपूर्ण है, जिससे डेटा चोरी हो सकता है, उपयोगकर्ता खातों से समझौता हो सकता है और बहुत कुछ हो सकता है। यह आलेख जावास्क्रिप्ट अनुप्रयोगों में कुछ सामान्य कमजोरियों का पता लगाएगा और उन्हें कम करने के लिए रणनीतियाँ प्रदान करेगा।
क्रॉस-साइट स्क्रिप्टिंग (XSS) तब होती है जब एक हमलावर किसी वेब पेज में दुर्भावनापूर्ण स्क्रिप्ट डालने में सक्षम होता है जिसे अन्य उपयोगकर्ता देखते हैं। ये स्क्रिप्ट कुकीज़, सत्र टोकन, या अन्य संवेदनशील जानकारी चुरा सकती हैं।
असुरक्षित कोड का उदाहरण:
document.write(location.search);
यदि किसी उपयोगकर्ता को https://example.com/?name= जैसे URL पर निर्देशित किया जाता है, तो document.write() सीधे दुर्भावनापूर्ण स्क्रिप्ट को प्रस्तुत करेगा पृष्ठ।
const userInput = sanitizeHtml(getUserInput());
इनपुट को स्वच्छ करने के लिए DOMPurify जैसी लाइब्रेरी का उपयोग करें।
सीएसपी हेडर का उदाहरण:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.com
सीएसआरएफ एक ऐसा हमला है जहां एक हमलावर उपयोगकर्ता को अनजाने में दुर्भावनापूर्ण अनुरोध सबमिट करने के लिए प्रेरित करता है। यह इस तथ्य का फायदा उठाता है कि एक ब्राउज़र स्वचालित रूप से अनुरोधों के साथ कुकीज़ जैसे क्रेडेंशियल शामिल करता है, जिससे हमलावरों को उपयोगकर्ताओं की ओर से कार्रवाई करने की अनुमति मिलती है।
संवेदनशील फॉर्म का उदाहरण:
यदि फॉर्म असुरक्षित है, तो एक हमलावर लॉग-इन उपयोगकर्ता की ओर से अनुरोध सबमिट करने के लिए किसी अन्य साइट पर एक नकली फॉर्म बना सकता है।
Set-Cookie: sessionId=abc123; SameSite=Strict
असुरक्षित डिसेरिएलाइज़ेशन तब होता है जब एप्लिकेशन में ऑब्जेक्ट बनाने के लिए अविश्वसनीय डेटा का उपयोग किया जाता है, जिससे हमलावरों को मनमाना कोड निष्पादित करने या विशेषाधिकार बढ़ाने की अनुमति मिलती है।
असुरक्षित कोड का उदाहरण:
const user = JSON.parse(dataFromUser);
यदि डेटाफ्रॉमयूजर के साथ छेड़छाड़ की जाती है, तो डीसेरिएलाइजेशन प्रक्रिया के परिणामस्वरूप अनपेक्षित वस्तुओं का निर्माण या खतरनाक तरीकों का निष्पादन हो सकता है।
कुछ मामलों में, सर्वर-साइड जावास्क्रिप्ट निष्पादन की आवश्यकता होती है, जैसे कि Node.js वातावरण में। सर्वर-साइड जावास्क्रिप्ट इंजेक्शन तब होता है जब अविश्वसनीय डेटा को सर्वर पर कोड के रूप में निष्पादित किया जाता है, जिससे कोड निष्पादन कमजोरियां पैदा होती हैं।
असुरक्षित कोड का उदाहरण:
eval(userInput);
यदि कोई हमलावर यूजरइनपुट को नियंत्रित करता है, तो वे सर्वर पर दुर्भावनापूर्ण कोड इंजेक्ट और निष्पादित कर सकते हैं।
const safeFunction = new Function('return 2 2');
प्रमाणीकरण उपयोगकर्ता की पहचान सत्यापित करने की प्रक्रिया है। टूटा हुआ प्रमाणीकरण तब होता है जब किसी एप्लिकेशन में कमजोर या त्रुटिपूर्ण प्रमाणीकरण तंत्र होता है, जिससे हमलावरों को वैध उपयोगकर्ताओं का प्रतिरूपण करने की अनुमति मिलती है।
मल्टी-फैक्टर ऑथेंटिकेशन (एमएफए) का उपयोग करें: उपयोगकर्ताओं को कई तरीकों (जैसे, पासवर्ड एसएमएस कोड) का उपयोग करके अपनी पहचान सत्यापित करने की आवश्यकता होती है।
सुरक्षित सत्र प्रबंधन: सुरक्षित, केवल HTTP और एन्क्रिप्टेड कुकीज़ का उपयोग करें। सत्र निर्धारण हमलों को रोकने के लिए लॉगिन के बाद सत्र टोकन पुन: उत्पन्न करें।
res.cookie('sessionId', sessionId, { httpOnly: true, secure: true });
संवेदनशील डेटा जैसे पासवर्ड, क्रेडिट कार्ड नंबर और एपीआई कुंजी को सावधानी से संभालना चाहिए। एक्सपोज़र तब हो सकता है जब यह डेटा असुरक्षित रूप से संग्रहीत या प्रसारित किया जाता है।
HTTPS का उपयोग करें: सुनिश्चित करें कि सर्वर और क्लाइंट के बीच सभी संचार TLS (HTTPS) का उपयोग करके एन्क्रिप्ट किया गया है।
रहस्यों के लिए पर्यावरण चर: एपीआई कुंजी, डेटाबेस क्रेडेंशियल और अन्य रहस्यों को अपने एप्लिकेशन में हार्ड-कोड करने के बजाय पर्यावरण चर या सुरक्षित वॉल्ट में संग्रहीत करें।
export API_KEY=your_api_key
यह भेद्यता तब होती है जब कोई हमलावर उपयोगकर्ताओं को किसी दुर्भावनापूर्ण साइट पर पुनर्निर्देशित करने के लिए URL में हेरफेर करता है।
असुरक्षित कोड का उदाहरण:
res.redirect(req.query.redirectUrl);
यदि यूआरएल मान्य नहीं है, तो एक हमलावर उपयोगकर्ताओं को फ़िशिंग साइट पर भेज सकता है।
श्वेतसूची यूआरएल: केवल विश्वसनीय, पूर्वनिर्धारित यूआरएल पर रीडायरेक्ट की अनुमति देते हैं।
सुरक्षित रीडायरेक्ट विधियों का उपयोग करें: उपयोगकर्ताओं को रीडायरेक्ट करने से पहले सुनिश्चित करें कि रीडायरेक्ट तर्क जांचता है कि यूआरएल सुरक्षित है या नहीं।
नियमित सुरक्षा ऑडिट और प्रवेश परीक्षण: नियमित रूप से ऑडिट और प्रवेश परीक्षण आयोजित करके कमजोरियों के लिए अपने आवेदन का परीक्षण करें।
अपडेट निर्भरताएं: लाइब्रेरी, फ्रेमवर्क और पैकेज को अपडेट रखें। अपने प्रोजेक्ट निर्भरता में कमजोरियों की जांच के लिए एनपीएम ऑडिट जैसे टूल का उपयोग करें।
न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें: अपने एप्लिकेशन के भीतर घटकों और उपयोगकर्ताओं के पास मौजूद अनुमतियों और पहुंच को सीमित करें।
सुरक्षा हेडर: सुरक्षा में सुधार के लिए HTTP सुरक्षा हेडर जैसे एक्स-कंटेंट-टाइप-ऑप्शंस, एक्स-फ्रेम-ऑप्शंस और स्ट्रिक्ट-ट्रांसपोर्ट-सिक्योरिटी का उपयोग करें।
X-Frame-Options: DENY Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
जावास्क्रिप्ट एप्लिकेशन शक्तिशाली होते हुए भी विभिन्न कमजोरियों से ग्रस्त हैं जिनका हमलावर फायदा उठा सकते हैं। इन सामान्य कमजोरियों को समझकर और कम करके, डेवलपर्स अधिक सुरक्षित एप्लिकेशन बना सकते हैं जो उपयोगकर्ताओं और डेटा की सुरक्षा करते हैं। नियमित सुरक्षा ऑडिट, सुरक्षित कोडिंग प्रथाएं और आधुनिक सुरक्षा सुविधाओं का उपयोग आपको संभावित खतरों से आगे रहने में मदद करेगा।
आगे पढ़ने के लिए, डेवलपर्स को OWASP की शीर्ष दस कमजोरियों पर नजर रखनी चाहिए और इन जानकारियों को अपनी विकास प्रथाओं में शामिल करना चाहिए।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3