去掉了很多過時的標簽,例如
和,同時又引入了許多有趣的新標簽,例如和標簽可以允許動態(tài)的加載音頻和視頻。
HTML5引入的新標簽包括、、、、等等,而這些標簽又有一些有趣的屬性,例如poster、autofocus、onerror、formaction、oninput,這些屬性用來執(zhí)行javascript。這會導致XSS和CSRF跨域請求偽造。
下面我們要講到就是這些關鍵載體。它允許創(chuàng)建XSS的變種并且可以繞過現(xiàn)有的XSS過濾器。
首先來看一個標簽:
在這個項目里存在用戶輸入的地方,我們雖然已經(jīng)針對舊有的標簽以及屬性進行了過濾和清洗,但是還會存在新標簽攻擊的漏洞,攻擊者利用上面的示例方式就可以對系統(tǒng)進行XSS注入攻擊。例如攻擊者輸入http://www.yujie.com/1.php?text=時就能立即運行攻擊腳本。

我們對此攻擊的防御方式是,對前端或者后端的過濾器進行優(yōu)化,添加過濾規(guī)則或者黑名單。