वहाँ जाना जाता है शैली विशेषता XSS हमलों:XSS हमलों और शैली की तरह जिम्मेदार बताते हैं
<DIV STYLE="width: expression(alert('XSS'));">
या
<DIV STYLE="background-image: url(javascript:alert('XSS'))">
सभी उदाहरण I've seen या तो अभिव्यक्ति या यूआरएल कार्यक्षमता का उपयोग - जैसे कि आवश्यकता होती है मूल रूप से कुछ समारोह " (" तथा ")"।
मैं छानने स्टाइल टैग के विधि निम्न में से सोच रहा हूँ, मैं उन्हें निम्न का उपयोग कर जाँच करेगा (लगभग) व्याकरण:
identifier: [a-zA-Z_][a-zA-Z0-9\-]*
number: [0-9]+
string: '[a-zA-Z_0-9 ]*'
value : identifier | number | string | number + "(em|px)" | number +"%"
entry: identifier ":" value (\s value)*
style: (entry ;)*
तो मूल रूप से मैं मूल रूप से संख्यात्मक मान या बहुत ही सीमित स्ट्रिंग मूल्यों के साथ ASCII गुण अनुमति देते हैं (फ़ॉन्ट नामों के लिए) कॉल की तरह दिखने वाली किसी भी चीज़ का उपयोग करने की इजाजत नहीं है।
सवाल यह पर्याप्त है? क्या कोई ऐसा हमला है जो ऐसा कुछ कर सकता है:
<DIV STYLE="this-is-js-property: alert 'XSS';">
और सफल?
क्या कोई इस तरह के परीक्षण की एक्सएसएस भेद्यता के बारे में सोच सकता है?
यह स्पष्ट
मैं शैली के रूप में TinyMCE जैसे कई उपकरण उन्हें इस्तेमाल और छानने हानिरहित शैली बंद का श्रेय काफी कार्यक्षमता चोट होगा जिम्मेदार बताते हैं की जरूरत है सुनिश्चित करने के लिए।
इसलिए मैं सामान्य मामलों को @import, url, अभिव्यक्ति आदि का उपयोग करने वाली सभी चीजों को हटाने को प्राथमिकता देता हूं और यह भी सुनिश्चित करता हूं कि मूल सीएसएस वाक्यविन्यास ठीक है।
उत्तर
कोई इसे सुरक्षित क्लिक-जैकिंग जोखिम की वजह से नहीं है।
अच्छा काम, इस –