Chrome DevTools, अपने-आप होने वाले XSS के हमलों से बचने में किस तरह मदद करता है

Wolfgang Beyer
Wolfgang Beyer

सेल्फ़-XSS अटैक क्या होते हैं?

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

आम तौर पर, Self-XSS हमलों में हमलावर आपको धोखा देकर, आपके ब्राउज़र के DevTools कंसोल में नुकसान पहुंचाने वाले कोड को कॉपी करके चिपकाता है. आम तौर पर, हमलावर किसी तरह के इनाम का वादा करके ऐसा करता है. ऐसा इन वजहों से हो सकता है:

  • आपको यह वादा किया जाता है कि कोड से आपको छिपी हुई सुविधाओं या वर्चुअल इनामों का ऐक्सेस मिलेगा.
  • यह दिखाना कि कोड, सुरक्षा जांच या गड़बड़ी ठीक करने वाला है.
  • यह वादा करना कि कोड की मदद से, किसी वेबसाइट को हैक करके उससे फ़ायदा लिया जा सकता है.

कोड लागू करने के बाद, हमलावर आपके खाते को कंट्रोल कर सकता है. इससे हैकर ये काम कर सकता है:

  • आपका नाम, पता, और क्रेडिट कार्ड नंबर जैसी निजी जानकारी चुरा सकते हैं.
  • आपकी ओर से बिना अनुमति के मैसेज या टिप्पणियां पोस्ट करना.
  • अपने सोशल मीडिया खातों को कंट्रोल करें.
  • अन्य उपयोगकर्ताओं को मैलवेयर फैलाना.

Chrome DevTools, सेल्फ़-एक्सएसएस अटैक को कम करने की कोशिश कैसे करता है?

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

आम तौर पर, डेवलपर वेब पर कहीं से भी कोड कॉपी नहीं करते. इसके बजाय, वे पहले यह देखते हैं कि कोड क्या करता है और फिर उसे DevTools में चिपकाकर उसे चलाते हैं. ज़्यादातर डेवलपर, वेब पर किसी संदिग्ध जगह से मिले कोड को इस्तेमाल करने से जुड़े सुरक्षा जोखिमों के बारे में अच्छी तरह से जानते हैं.

Chrome DevTools, डेवलपर पर भरोसा करता है कि वे जानते हैं कि वे क्या कर रहे हैं. हम नहीं चाहते कि कोड कॉपी और चिपकाते समय, उन्हें किसी भी तरह से परेशानी हो या उनका ध्यान भटके.

हमें लगता है कि डेवलपर के अलावा अन्य लोगों के लिए, सेल्फ़-एक्सएसएस हमले का खतरा ज़्यादा होता है. हम मानते हैं कि आपको सुरक्षित रखने के लिए, खतरनाक काम करते समय आपको रोकना सही और फ़ायदेमंद है. जब Chrome DevTools को पता चलता है कि कोई ऐसा उपयोगकर्ता DevTools में कोड चिपकाने की कोशिश कर रहा है जिसे इस बारे में कोई जानकारी नहीं है, तो वह कोड चिपकाने की प्रोसेस को रोक देगा और एक चेतावनी दिखाएगा.

DevTools, सेल्फ़-एक्सएसएस चेतावनियां कब दिखाएगा?

DevTools, अपने-आप होने वाले एक्सएसएस हमले की चेतावनियां दिखाने या न दिखाने का फ़ैसला करने के लिए, एक बहुत ही आसान हेयुरिस्टिक्स का इस्तेमाल करता है: यह आपकी उपयोगकर्ता प्रोफ़ाइल के कंसोल इतिहास पर आधारित होता है.

अगर आपकी प्रोफ़ाइल के कंसोल इतिहास में कम से कम पांच एंट्री हैं, तो DevTools आपको किसी भी चेतावनी या पॉप-अप से परेशान नहीं करेगा. कंसोल इतिहास, उन निर्देशों की सूची होती है जिन्हें आपने कंसोल में टाइप किया है और चलाया है. ये ऐसे निर्देश हैं जो आपको कंसोल में कर्सर ले जाकर, अप ऐरो बटन को बार-बार दबाने पर दिखते हैं.

सेल्फ़-एक्सएसएस चेतावनियां कैसी दिखती हैं?

जब कोई नया उपयोगकर्ता कंसोल में कोड चिपकाने की कोशिश करता है, तो यह कार्रवाई ब्लॉक कर दी जाती है. इसके बजाय, कंसोल में चेतावनी दिखती है.

Console में, सेल्फ़-एक्सएसएस की चेतावनी.

इस चेतावनी को बदला जा सकता है और चिपकाने की सुविधा चालू की जा सकती है. इसके लिए, आपको 'चिपकाने की अनुमति दें' टाइप करना होगा.

जब कोई नया उपयोगकर्ता, DevTools के कोड एडिटर (उदाहरण के लिए, सोर्स पैनल) में कोड चिपकाता है, तो उसे भी उपयोगकर्ता अनुभव मिलता है. आपको चेतावनी के बजाय, एक मॉडल डायलॉग दिखेगा.

सोर्स पैनल में, सेल्फ़-एक्सएसएस मोडल डायलॉग.

इसके अलावा, चिपकाने की सुविधा चालू करने के लिए, सिर्फ़ इस डायलॉग बॉक्स को बंद करना ही काफ़ी नहीं है. चेतावनी को बदलने के लिए, आपको इनपुट फ़ील्ड में 'कॉपी-पेस्ट करने की अनुमति दें' टाइप करना होगा.

क्या यह सेटिंग एक बार के लिए सेट की जाती है?

हां, चिपकाने की अनुमति देने के बाद, आपको अपने-आप होने वाली एक्सएसएस (एक्सट्रेसिव सर्वर साइड स्क्रिप्ट) की चेतावनियां नहीं मिलेंगी.

हमें उम्मीद है कि इससे, काम के वीडियो और परेशान करने वाले वीडियो के बीच एक अच्छा संतुलन बना रहेगा. फ़्रिक्शन जोड़ने से, चेतावनी पढ़ने की संभावना बढ़ जाती है. इससे, अपने-आप होने वाले एक्सएसएस हमले की संभावना कम हो जाती है.

Chrome DevTools में एक फ़्लैग होता है. इससे यह तय होता है कि आपको Chrome प्रोफ़ाइल में, सेल्फ़-एक्सएसएस से जुड़ी चेतावनियां दिखेंगी या नहीं. इसलिए, अगर कोई नई प्रोफ़ाइल बनाई जाती है और तुरंत DevTools में कोड चिपकाया जाता है, तो चिपकाने की सुविधा ब्लॉक हो जाती है और इसके बजाय, सेल्फ़-एक्सएसएस चेतावनियां दिखती हैं.

क्या इसे टेस्ट ऑटोमेशन के लिए बंद किया जा सकता है?

लेकिन, ऑटोमेटेड टेस्ट के बारे में क्या? टेस्टिंग के कई टूल, हर टेस्ट के लिए एक नई प्रोफ़ाइल बनाते हैं. इसलिए, अगर अपने-आप चलने वाले टेस्ट को डीबग करने के लिए DevTools का इस्तेमाल किया जाता है, तो शुरुआत में कंसोल में चिपकाने की सुविधा ब्लॉक रहती है.

इस समस्या को हल करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  • Chrome for Testing का इस्तेमाल करें. यह Chrome का एक वर्शन है, जिसे खास तौर पर टेस्टिंग और ऑटोमेशन के लिए डिज़ाइन किया गया है. सेल्फ़-एक्सएसएस चेतावनियां बंद हैं.

  • Chrome के अन्य रिलीज़ चैनलों के लिए, Chrome को --unsafely-disable-devtools-self-xss-warnings कमांड-लाइन फ़्लैग पास करें. इससे, अपने-आप एक्सएसएस होने की चेतावनी देने वाला डायलॉग पूरी तरह से बंद हो जाएगा.

नतीजा

आपको सेल्फ़-एक्सएस हमलों को कम करने के लिए, इस रणनीति के बारे में क्या लगता है? अगर आपके पास कोई टिप्पणी या सुझाव है, तो इस बग पर टिप्पणी करें या इनमें से किसी एक तरीके का इस्तेमाल करके हमसे संपर्क करें.

खास तौर पर, अगर आपने ऐसी वेबसाइट बनाई है जो कंसोल लॉग के ज़रिए, अपने-आप होने वाले XSS हमलों के बारे में चेतावनी देती है, तो हम अपने प्रयासों को अलाइन करने या अपने-आप होने वाले XSS हमलों को कम करने के उपायों के असर को मेज़र करने के बारे में बात करना चाहेंगे.

झलक वाले चैनल डाउनलोड करना

अपने डिफ़ॉल्ट डेवलपमेंट ब्राउज़र के तौर पर, Chrome कैनरी, डेवलपर या बीटा का इस्तेमाल करें. इन झलक वाले चैनलों की मदद से, आपको DevTools की नई सुविधाओं का ऐक्सेस मिलता है. साथ ही, इनसे आपको वेब प्लैटफ़ॉर्म के सबसे नए एपीआई की जांच करने में मदद मिलती है. इसके अलावा, इनकी मदद से उपयोगकर्ताओं से पहले ही अपनी साइट पर समस्याओं का पता लगाया जा सकता है!

Chrome DevTools की टीम से संपर्क करना

DevTools से जुड़ी नई सुविधाओं, अपडेट या किसी भी अन्य चीज़ के बारे में चर्चा करने के लिए, यहां दिए गए विकल्पों का इस्तेमाल करें.