利用 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等支持它
測試

相關文章
相關標籤/搜索