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

Wolfgang Beyer
Wolfgang Beyer

सेल्फ़-एक्सएसएस हमले क्या होते हैं?

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

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

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

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

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

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

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

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

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

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

DevTools सेल्फ़-XSS से जुड़ी चेतावनियां कब दिखाएगा?

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

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

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

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

कंसोल में सेल्फ़-XSS चेतावनी.

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

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

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

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

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

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

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

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

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

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

इस समस्या से बचने के लिए, इनमें से कोई एक काम करें:

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

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

नतीजा

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

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

झलक दिखाने वाले चैनलों को डाउनलोड करें

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

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

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

  • crbug.com के ज़रिए हमें कोई सुझाव या फ़ीडबैक सबमिट करें.
  • DevTools में ज़्यादा विकल्प   ज़्यादा दिखाएं   > सहायता > DevTools से जुड़ी समस्याओं की शिकायत करें का इस्तेमाल करके DevTools से जुड़ी समस्या की शिकायत करें.
  • @ChromeDevTools पर ट्वीट करें.
  • DevTools YouTube वीडियो या DevTools के बारे में सलाह YouTube वीडियो में नया क्या है, इस पर टिप्पणी करें.