क्या https कनेक्शन सुरक्षित कुकीज़ करता है और XSS हमलों को रोकता है। मेरे पास एक साधारण ब्लॉग है जो उपयोगकर्ताओं को इनपुट के रूप में जावास्क्रिप्ट कोड दर्ज करने की अनुमति देता है। मैं अभी भी एक्सएसएस हमलों और कुकी चोरी को रोकने के दौरान उपयोगकर्ता द्वारा जावास्क्रिप्ट इनपुट को अनुमति देना चाहता हूं। क्या https सुरक्षित कुकीज़ की सहायता करता है। मुझे केवल कुछ साइटें मिलीं जो इस बारे में बात करती हैं और अभी भी अस्पष्ट हैं।क्या https सुरक्षित कुकीज़ XSS हमलों को रोकती है?
उत्तर
एचटीटीपीएस एक मानव-इन-द-बीच हमले को रोक सकता है, न कि एक्सएसएस। दुर्भाग्य से सत्र कुकी अकेले इसके साथ सुरक्षित नहीं है, कोई HTTP के साथ एक पृष्ठ का अनुरोध कर सकता है और फिर उसी कुकी को असुरक्षित भेजा जाएगा।
सुनिश्चित करने के लिए कि सत्र कुकी केवल HTTPS कनेक्शन पर भेज दिया जाता है, तो आप समारोह session_set_cookie_params() सत्र शुरू करने से पहले उपयोग कर सकते हैं:
session_set_cookie_params(0, '/', '', true, true);
session_start();
नोट पहले true
, इसका मतलब है कि कुकी भेजा जाएगा केवल HTTPS पृष्ठों पर। दूसरा true
ब्राउज़र को बताता है कि जावास्क्रिप्ट को सत्र कुकी तक नहीं पहुंचना चाहिए, यह ब्राउज़र पर निर्भर करता है अगर यह सही तरीके से किया जाता है।
अपनी साइट को सुरक्षित बनाने के लिए एक और अच्छा तरीका केवल सत्र को बनाए रखने, और एक दूसरे कुकी का उपयोग प्रमाणीकरण की देखभाल करने के लिए सत्र कुकी उपयोग करने के लिए, है। यदि आप रुचि रखते हैं तो मैं एक उदाहरण प्रदान कर सकता हूं।
हां निश्चित रूप से, एक उदाहरण दिखाएं। आपके उत्तर के अनुसार, यदि सत्र कुकी को https कनेक्शन के माध्यम से जाने के लिए मजबूर किया जाता है, तो क्या हम कह सकते हैं कि यह xss हमलों से सुरक्षित है। – Hussein
@ हुसैन - सत्र कुकी एक्सएसएस हमले का हिस्सा नहीं है, एक्सएसएस के बारे में एक अच्छी व्याख्या यहां आप पा सकते हैं: http://shiflett.org/articles/cross-site-scripting। मैंने जो उदाहरण लिखा है, वह मिश्रित HTTP और HTTPS पृष्ठों का उपयोग करने का वर्णन करता है, लेकिन यह दिखाता है कि कैसे सत्र और प्रमाणीकरण अलग रखना है http://www.martinstoeckli.ch/php/php.html#ssl_nomim_cookie। सत्र कुकी हमेशा हमलों का लक्ष्य होगा। – martinstoeckli
धन्यवाद @ मार्टिन, आपके लेख में बहुत उपयोगी जानकारी। – Hussein
HTTP प्रोटोकॉल (HTTPS या HTTP) XSS के साथ मदद नहीं करता है या वास्तव में कोई संबंध नहीं है। आपको निवारक उपायों को जोड़ने और सावधान रहना होगा जहां आप क्लाइंट को जावास्क्रिप्ट आउटपुट करते हैं।
@comm @cwa @jake धन्यवाद। आइए मान लें कि हम चाहते हैं कि उपयोगकर्ता ब्लॉग में Google विज्ञापन कोड इनपुट करे। Google कोड जावास्क्रिप्ट है। जब से इसकी आवश्यकता होती है हम जावास्क्रिप्ट को बाहर नहीं निकाल सकते हैं। अगर हम जावास्क्रिप्ट को अनुमति देते हैं तो हम एक्सएसएस हमले के कई क्षेत्रों के लिए खुले हैं। इसका समाधान क्या है। मुझे यकीन है कि इसके बारे में जाने का एक तरीका है। – Hussein
एक बार जब आप किसी को गतिशील रूप से संग्रहीत करने और अपनी साइट पर मनमाने ढंग से JavaScript निष्पादित करने की अनुमति दी है, वे आप उन्हें अकेला छोड़ दें चाहेगा सामान का एक बहुत की पहुंच है। कम से कम, वे आपके PHP सत्र आईडी को हाइजैक कर सकते हैं (उनके पास आपकी कुकीज तक पहुंच होगी), और फिर कुछ दूरस्थ सर्वर पर अग्रेषित करने के लिए अजाक्स का उपयोग करें। एक बार उनके पास हो जाने के बाद, वे आपके उपयोगकर्ताओं को बकवास के सभी प्रकार कर सकते हैं।
आप उन्हें अपने जावास्क्रिप्ट जोड़ने के लिए है, तो मैं सुझाव है कि आप विशेष रूप से सभी अजाक्स कार्यक्षमता को अक्षम (XMLHTTPRequest = function(){}
सबसे ब्राउज़रों पर बहुत आसानी से सभी अजाक्स से बचाता है, लेकिन आप क्या आईई की जरूरत है की जांच के लिए आवश्यकता हो सकती है (मैं पता नहीं क्या ActiveXObject = function(){}
करेगा ...))। दुर्भाग्यवश, यदि आप उन्हें उपयोग करने की कोई उम्मीद रखते हैं तो आप कुकीज़ तक पहुंच को रोक नहीं सकते हैं (यानी यदि आपके पास सत्र है), तो आपको कुछ और कामकाज ढूंढना होगा।
यदि आप चाहते हैं कि उपयोगकर्ता जावास्क्रिप्ट कोड इनपुट करने में सक्षम हों, लेकिन इसे पार्स नहीं किया है, तो इसे htmlspecialchars के माध्यम से चलाएं। यदि आप चाहते हैं कि वे कोड निष्पादित करने में सक्षम हों, तो नहीं, HTTPS मदद नहीं करेगा, और आपको कोड को पार्स करने और उससे कुछ भी खराब करने की आवश्यकता होगी।
- 1. XSS हमलों को रोकें साइट-व्यापी
- 2. XSS हमलों और शैली की तरह जिम्मेदार बताते हैं
- 3. सुरक्षित कुकीज़ और मिश्रित https/http साइट उपयोग
- 4. क्या कुकीज़ सुरक्षित करना संभव है?
- 5. जेएसएफडल एक्सएसएस आधारित हमलों से सुरक्षित क्या बनाता है?
- 6. सुरक्षित Google ट्रैकिंग कुकीज़
- 7. सुरक्षित कुकीज़ एवं सत्र
- 8. HTTPS
- 9. एएसपीनेट सुरक्षित कुकीज़
- 10. सुरक्षित (https) से सुरक्षित असुरक्षित सामग्री (http) पर रीडायरेक्ट (https)
- 11. सुरक्षित HTTPS कनेक्शन
- 12. सत्र कुकी को सुरक्षित (https केवल) को टॉमकैट 6
- 13. Node.js HTTPS सुरक्षित त्रुटि
- 14. मैं रेल में डिफ़ॉल्ट रूप से कुकीज़ को सुरक्षित (https-only) कैसे बना सकता हूं?
- 15. क्या एचटीटीपीएस सीएसआरएफ हमलों के खिलाफ सुरक्षा करता है?
- 16. XSS हमले का श्रेय
- 17. इनपुट यूआरएल है, इसे xss
- 18. https यूआरएल: यह कितना सुरक्षित है?
- 19. एक HTTPS क्वेरी स्ट्रिंग सुरक्षित है?
- 20. डॉस हमलों के खिलाफ अपने आप को सुरक्षित रखें
- 21. क्या कुकीज़ में पासवर्ड स्टोर करना सुरक्षित है?
- 22. क्या एक https url का सबडोमेन हिस्सा सुरक्षित है?
- 23. क्या IsValid() XSS से रक्षा करता है?
- 24. एक्सएसएस हमलों को रोकना
- 25. XSS हमले
- 26. क्या यह LINQ आधारित खोज SQL इंजेक्शन/XSS हमले के विरुद्ध सुरक्षित है?
- 27. क्या यह कार्य xss पहचान के लिए पर्याप्त है?
- 28. क्या सबडोमेन कुकीज़ को हटाना संभव है?
- 29. https पर संवेदनशील डेटा भेज रहा है कितना सुरक्षित है?
- 30. लॉगिन/सत्र कुकीज़, अजाक्स और सुरक्षा
स्वयं में HTTPS XSS को नहीं रोकता है। –
उपयोगकर्ताओं को जावास्क्रिप्ट इनपुट करने की अनुमति देना ** बेहद ** खतरनाक है। किसी दुर्भावनापूर्ण उपयोगकर्ता को आपके अन्य उपयोगकर्ताओं को कुछ बहुत ही बुरा काम करने से रोकना बहुत मुश्किल है। –
@ कैमरॉन - चाहे वह खतरनाक है या नहीं, अप्रासंगिक है। यह देखते हुए कि ब्राउजर * जावास्क्रिप्ट * छद्म-प्रोटोकॉल का समर्थन करते हैं और ऐड-ऑन जैसे Greasemonkey और Firebug उपयोगकर्ताओं को पृष्ठों में स्क्रिप्ट चलाते हैं, उपयोगकर्ताओं को अपने ब्राउज़र या किसी अन्य उपयोगकर्ता एजेंट में पृष्ठों में जो भी स्क्रिप्ट चाहिए, उसे चलाने से रोकना असंभव है। – RobG