Chrome में सामग्री सुरक्षा नीति को कैसे शिथिल करें?


18

हाल ही में, कुछ वेबसाइटें जैसे कि फेसबुक "कंट्रोल्ड सोर्स" से स्क्रिप्ट्स को लोड करने से रोकने के लिए कंटेंट सिक्योरिटी पॉलिसी (CSP) का उपयोग करती हैं । उदाहरण के लिए, फेसबुक HTML सामग्री का अनुरोध करते समय (उदाहरण https://www.facebook.com ), फेसबुक की HTTP प्रतिक्रिया में निम्नलिखित प्रतिक्रिया हेडर शामिल हैं:

x-webkit-csp:default-src *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net;style-src * 'unsafe-inline';connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net;

इसके कुछ बुकमार्कलेट पर प्रभाव पड़ता है, जिन्हें अविश्वसनीय स्रोतों से जावास्क्रिप्ट पुस्तकालयों को लोड करने और निष्पादित करने की आवश्यकता होती है।

उदाहरण के लिए, जब भी मैं फेसबुक पेज पर शो एंकर बुकमार्कलेट चलाने की कोशिश करता हूं, तो इस बुकमार्कलेट का निष्पादन विफल हो जाता है क्योंकि यह एक अविश्वसनीय स्रोत से jQuery को लोड करने की कोशिश करता है। Chrome के डेवलपर कंसोल में, यह कहेंगे:

Refused to load the script 'http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js' because it violates the following Content Security Policy directive: "script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net".

मुझे इस विषय के बारे में एक क्रोम प्रलेखन पृष्ठ मिला है, लेकिन यह केवल क्रोम एक्सटेंशन पर लागू होता है

मैं उन समाधानों की तलाश में हूं जो मुझे अनुमति देते हैं

  • या तो एक बार के लिए CSP को निष्क्रिय करें
  • या मेरे विश्वसनीय स्रोतों को स्थायी रूप से श्वेत सूची में लाने के लिए।


@Rudie क्या Chrome मोबाइल के लिए काम करेगा?
माइकल

@ मिचेल अगर क्रोम मोबाइल आधुनिक-ईश एक्सटेंशन का समर्थन करता है। WeRequest नए तरह का है। मैं Chrome मोबाइल का उपयोग नहीं करता, इसलिए मुझे कोई पता नहीं है।
रुडी

जवाबों:


2

क्रोम ऐप्स द्वारा समर्थित तरीके

टेम्प्लेटिंग लाइब्रेरीज़ का उपयोग करें

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

आपको किसी भी सामग्री को अलग करने के लिए सैंडबॉक्सिंग का उपयोग करने की आवश्यकता होगी जिसे आप 'eval' करना चाहते हैं। सैंडबॉक्सिंग आपके द्वारा निर्दिष्ट सामग्री पर सीएसपी को हटा देता है।

सैंडबॉक्स स्थानीय सामग्री

सैंडबॉक्सिंग निर्दिष्ट पृष्ठों को सैंडबॉक्स, अद्वितीय मूल में सेवा करने की अनुमति देता है। फिर इन पृष्ठों को उनकी सामग्री सुरक्षा नीति से छूट दी गई है। सैंडबॉक्स वाले पृष्ठ iframes, इनलाइन स्क्रिप्टिंग, और eval () का उपयोग कर सकते हैं (और अंतिम दो को रोका जा रहा है)। वह 'असुरक्षित-इनलाइन' और 'असुरक्षित-eval' को ठीक कर देगा।

  • सैंडबॉक्स में इनलाइन स्क्रिप्ट का उपयोग करें
  • दिखने में सैंडबॉक्स शामिल करें

दूरस्थ संसाधनों तक पहुँचें

आप XMLHttpRequest के माध्यम से दूरस्थ संसाधनों को ला सकते हैं और उन्हें blo :, डेटा :, या फाइल सिस्टम: URL के माध्यम से परोस सकते हैं। यह jQuery लाने के मुद्दे को ठीक करना चाहिए।

प्रकट आवश्यकता

क्रॉस-ऑरिजनल करने में सक्षम होने के लिए XMLHttpRequests, आपको दूरस्थ URL के होस्ट के लिए एक अनुमति जोड़ने की आवश्यकता होगी।

क्रॉस-ओरिजिन XMLHttpRequest

एप्लिकेशन में दूरस्थ URL लाएं और URL के रूप में इसकी सामग्री परोसें blob:


मुझे नहीं लगता कि आप इनमें से कोई भी कर सकते हैं। हेडर unsafe-evalऔर unsafe-inlineप्रतिक्रिया को ठीक करने के लिए , केवल स्क्रिप्ट स्वामी कोड को ठीक कर सकता है या यदि यह सार्वजनिक डोमेन में है, तो आप इसे ठीक कर सकते हैं। यह सब शायद एक बार का फिक्स है।


हैक्स

UnsafeWindow

http://wiki.greasespot.net/UnsafeWindow

सामग्री स्क्रिप्ट इंजेक्शन

http://wiki.greasespot.net/Content_Script_Injection


हालांकि हैक्स में गिरावट है क्योंकि वे पहले से निश्चित रूप से कम से कम सुरक्षा छेद पैदा करने का कारण जानते हैं।


0

आप इन सेटिंग्स को कंटेंट टैब में एडिट कर सकते हैं, जिसे आप chrome://settings/contentएड्रेस बार में टाइप करके सीधे एक्सेस कर सकते हैं । आप विशिष्ट सामग्री प्रकारों पर विशिष्ट डोमेन को श्वेतसूची में रख सकते हैं।


9
सामग्री सेटिंग में वास्तव में मैं ऐसा कहां करता हूं, और कैसे? मैंने अपनी साइट को "कुकी और साइट डेटा अपवादों" को बिना किसी प्रभाव के जोड़ने की कोशिश की। अन्य सेटिंग्स में से कोई भी प्रासंगिक नहीं लगती है।
माइकल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.