2015-06-04 13 views
16

वर्तमान में मैं अपनी सभी साइटों पर Modernizr का उपयोग कर रहा हूं और यह काम करता है कि यह कैसे काम करता है इसके लिए unsafe-inline शैलियों की अनुमति है। मैं स्क्रिप्ट के लिए इनलाइन स्क्रिप्ट और असुरक्षित-eval की अनुमति नहीं दे रहा हूं। इनलाइन शैलियों की अनुमति देने के लिए सुरक्षा जोखिम क्या है इसके बारे में उत्सुक?सीएसपी शैली-src: 'unsafe-inline' - क्या यह इसके लायक है?

उत्तर

19

इनलाइन शैलियों की अनुमति देना आपको "अन्य एक्सएसएस" के लिए अतिसंवेदनशील बनाता है। क्रॉस साइट स्टाइल हमले।

यहां विचार यह है कि कोई भी स्थान जहां कोई उपयोगकर्ता आपके दस्तावेज़ में शैली विशेषता को इंजेक्ट कर सकता है, वे आपके पृष्ठ की उपस्थिति को किसी भी तरह से संशोधित कर सकते हैं। मैं गंभीरता से बढ़कर आदेश दिया गया कुछ संभावित हमलों की सूची दूंगा:

  1. वे आपके पृष्ठ को गुलाबी कर सकते हैं, और इसे मूर्खतापूर्ण दिख सकते हैं।
  2. वे आपके पृष्ठ के टेक्स्ट को संशोधित कर सकते हैं, ऐसा लगता है कि आप कुछ आक्रामक कह रहे हैं जो आपके पाठकों के दर्शकों को अपमानित कर सकता है।
  3. वे उपयोगकर्ता द्वारा जेनरेट की गई सामग्री बना सकते हैं, जैसे कि उनके द्वारा प्रदान किए गए लिंक सामान्य स्थानों के बाहर दिखाई देते हैं जहां लोग उपयोगकर्ता सामग्री देखने की अपेक्षा करते हैं, जिससे इसे आधिकारिक दिखाई देता है। (उदाहरण के लिए, अपनी साइट पर "लॉगिन" बटन को अपने स्वयं के लिंक से बदलना)।
  4. एक सावधानी से तैयार किए गए स्टाइल नियमों का उपयोग करके वे बाहरी डोमेन पर पृष्ठ पर शामिल कोई भी जानकारी भेज सकते हैं और अपने उपयोगकर्ताओं के खिलाफ दुर्भावनापूर्ण रूप से उस डेटा का खुलासा या अन्यथा उपयोग कर सकते हैं।

चौथा उदाहरण के लिए, जानकारी के साथ बाह्य डोमेन के लिए लीक होने पूरी तरह unsafe-inline के बावजूद रोका जा सकता है तो आप यह सुनिश्चित अपने अन्य सीएसपी नियम अनुरोध के किसी भी प्रकार एक अविश्वस्त या वाइल्डकार्ड डोमेन के लिए जाने के लिए अनुमति देते हैं कभी नहीं प्रदान की है। लेकिन अगर आप किसी स्टाइल एट्रिब्यूट को कहीं अवरुद्ध करते हैं तो पहला 3 हमेशा संभव होगा।

Mike West कुछ और उदाहरणों के लिए कुछ साल पहले CSSConf के लिए अच्छा talk किया था।

+0

हे अच्छा पोस्ट, मैं उत्सुक हूं, अगर यह एक मोबाइल ऐप (डाउनलोड किया गया) है तो क्या होगा? क्या इसे खतरा माना जाएगा? मुझे लगता है कि वे केवल उस मामले में अपने स्वयं के ऐप से गड़बड़ कर पाएंगे और कुछ अजीब सीएसएस चीजों को अपने ऐप में कर सकते हैं, या? – mattias

+0

क्या यह एक वेबदृश्य शैली ऐप होगा? यह सामान्य ब्राउज़र वितरित सामग्री के समान हमले वेक्टर होगा। यह वह उपयोगकर्ता नहीं है जो खुद पर हमला कर रहा है बल्कि एक बाहरी (इसलिए "क्रॉस-साइट") इकाई आपके द्वारा लक्षित अनुभव को बदल रहा है। इसे तीसरे पक्ष के जेएस/सीएसएस को अपहृत किया जा सकता है (क्या आप जो कुछ भी पैकेज करते हैं उसे सत्यापित कर रहे हैं?), अनुचित रूप से संतोषजनक सामग्री या छवियों जैसे कई अन्य वैक्टर जिन्हें मैं अभी तक समझने के लिए पर्याप्त स्मार्ट नहीं हूं। – jeteon

+0

ऐसा लगता है कि वर्डप्रेस साइट्स के साथ अधिकांश विषयों को सीएसपी के साथ अनुपालन नहीं किया जाता है, इसलिए आप असुरक्षित इनलाइन, असुरक्षित-eval और यहां तक ​​कि डेटा का उपयोग करने के लिए समाप्त होते हैं: अन्यथा आपकी पूरी साइट टूट जाती है और भयानक लगती है। जबकि मैं समझता हूं कि असुरक्षित-इनलाइन और असुरक्षित-eval का उपयोग करके आप XSS हमलों तक खुल सकते हैं "एक्स-एक्सएसएस-प्रोटेक्शन \t 1; मोड = ब्लॉक" पहले से ही इसे रोकने में मदद नहीं करता है? ऐसा लगता है कि WordPress थीम और प्लगइन लेखकों को अपनी सामग्री सीएसपी अनुपालन करने के लिए बहुत कुछ करना है। – MitchellK

संबंधित मुद्दे