HTML5安全攻防詳析之七:新標籤攻擊

         HTML5去掉了很多過時的標籤,例如<center>和<frameset>,同時又引入了許多有趣的新標籤,例如<video>和<audio>標籤可以允許動態的加載音頻和視頻。

         HTML5引入的新標籤包括<Audio>、<Video>、<Canvas>、<Article>、<Footer>等等,而這些標籤又有一些有趣的屬性,例如poster、autofocus、onerror、formaction、oninput,這些屬性都可以用來執行javascript。這會導致XSS和CSRF跨域請求僞造。

         下面我們要講到就是這些關鍵載體。它允許創建XSS的變種並且可以繞過現有的XSS過濾器。

         首先來看一個標籤:

<video><sourceοnerrοr="javascript:alert(1)“>

         它使用了一個source標籤,而沒有指定具體的src,所以後面的onerror方法會立即得到執行。

         下面是video的poster屬性,它鏈接到一個圖像,是指當視頻未響應或緩衝不足時,顯示的佔位符。

<videoposter=”javascript:alert(1)”>

         另外還有HTML5新引入的autofocus和formaction屬性,autofocus會讓元素自動的獲取焦點,而formaction屬性能覆蓋 form 元素的action 屬性。

<inputautofocus οnfοcus=“alert(1)”>
<form><buttonformaction="javascript:alert(1)">

         在這個項目裏存在用戶輸入的地方,我們雖然已經針對舊有的標籤以及屬性進行了過濾和清洗,但是還會存在新標籤攻擊的漏洞,攻擊者利用上面的示例方式就可以對系統進行XSS注入攻擊。例如攻擊者輸入http://www.yujie.com/1.php?text=<videoposter=”javascript:alert(1)”>時就能立即運行攻擊腳本。


         我們對此攻擊的防禦方式是,對前端或者後端的過濾器進行優化,添加過濾規則或者黑名單。

         相關文章:

         《關注HTML5安全風險

         《HTML5安全風險詳析之一:CORS攻擊

         《HTML5安全風險詳析之二:WebStorage攻擊

         《HTML5安全風險詳析之三:WebSQL攻擊

         《HTML5安全風險詳析之四:Web Worker攻擊

         《HTML5安全風險詳析之五:劫持攻擊

         《HTML5安全風險詳析之六:API攻擊

         本文爲原創文章,轉載請註明:來自蔣宇捷的博客http://blog.csdn.net/hfahe
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章