2011-09-15 14 views
6

मुझे अपनी साइट के खिलाफ कई एक्सएसएस हमलों का सामना करना पड़ा है।क्या कोई मुझे बता सकता है कि ब्राउज़र में यह एक्सएसएस वेक्टर क्यों काम करता है?

<a href="mailto:"> 
<a href=\"http://www.google.com onmouseover=alert(/hacked/); \" target=\"_blank\"> 
<img src="http://www.google.com onmouseover=alert(/hacked/);" alt="" /> </a></a> 

ऐसा लगता है कि स्क्रिप्ट की तरह निष्पादित नहीं करना चाहिए, लेकिन IE9 के विकास उपकरण का उपयोग कर, मैं देखना है कि ब्राउज़र के लिए HTML तब्दील हो पा रहा था: निम्न HTML टुकड़ा XSS वेक्टर कि हमलावर द्वारा इंजेक्शन दिया गया है निम्नलिखित:

<a href="mailto:"/> 
<a onmouseover="alert(/hacked/);" href="\"http://www.google.com" target="\"_blank\"" \?=""> 
</a/> 

कुछ परीक्षण करने के बाद, यह पता चला है \ onmouseover "विशेषता" लाइव "" बनाता है "कि, लेकिन मैं पता नहीं क्यों किसी को पता है कि क्यों इस सदिश सफल होता है

+1

उद्धरण छोड़कर "अमान्य) यूआरएल का हिस्सा बनने के लिए \" टिप्पणी कर रहा है "लगता है। आप HTML में उद्धरण के बिना विशेषता मान प्राप्त कर सकते हैं। भी मान्य है। लेकिन यह दिलचस्प है। मुझे नहीं पता था कि \ "इस तरह काम किया। – Erlend

+0

" के सामने किसी भी चरित्र को लगता है ", इसे विशेषता मान के एक हिस्से में बदल देता है। – Erlend

उत्तर

5
।?

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

href=a"http://www.google.com onmouseover=alert(/hacked/); \" 

एचटीएमएल quoteless विशेषताओं की अनुमति देता है, तो यह मान दिए गए वाली दो विशेषताएं हो जाता है।

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