利用 Data URI Scheme进行XSS

这种方法不算新,但是不多人用,也不多人能想获得。

data:相似于javascript.:,在很大程度上,能够完成javascript的工做.

举一个例子:

进行XSS测试时,发现javascript与script等关键字都被过滤了(如今通常有点XSS意识的管理员都懂得过滤这两个关键字)。可用下面的语句:

data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIik8L3NjcmlwdD4=

这语句和  javascript.:alert("xss")  或者  <script>alert("xss")</script> 做用是同样的。

data:的语法从上面的语句中也能够看得很清楚了,base64为编码方式,能够任意改,能够UTF-8能够UTF-7,只要后面编码后的内容作相应的更改就能够了。不单单是弹窗,若是想src到一个JS脚本,也是彻底能够的。
javascript

HTML中支持标签属性内嵌入data uri scheme的有:html

object  java

 iframe.   anchor  img 等。xss


SuperHei对data:的总结是:

1.能够指定MIME-type如text/html
2.能够指定编码如data:;charset=UTF-8,Hello
3.firefox/ie8/Opera等支持它
测试

相关文章
相关标签/搜索