<img src=`<body/onload=alert(1) />

IE在识别tag的时候必须有tag结束界定符,由于src只有属性界定符的原因,<img不被认为是一个tag,所以<body/onload=alert(1) />被解析了.

 

<!-- `<img/src=xx:xx onerror=alert(1)//--!>

IE,属性界定符在注释tag中可以打破>结束符,使用前面的注释tag失效.(具体原因我也不是很清楚)

 

<svg/onload=domain=id>

最共22字符,webkit系浏览器有效.

这里的domain=id相当与document.domain=''

正常情况下是无法执行的.

配合一个webkit的bug,在host后面加个点即可执行,不过官方并不认为这是一个bug.

范例:http://fiddle.jshell.net./KG7fR/5/show (从jsfiddle跨到jsbin)

google chrome 浏览器防xss比较厉害,目前纯xss没有办法绕过。只有借助flash等第三方才可以进行绕过

gainover:

<img src=`<body/onload=alert(1) />

反引号这个,在IE9里被修复了。 直接整个<img src=`<body/onload=alert(1) /> 都被当文本显示了。

转自:http://zone.wooyun.org/content/306