《白帽子講WEB安全》學習筆記之第6章 HTML 5 安全

來源:互聯網
上載者:User

標籤:安全 白帽子

第6章 HTML 5 安全6.1 HTML 5新標籤6.1.1 新標籤的XSS

HTML5定義了新的標籤、新的事件,這就有可能帶來新的XSS攻擊。所以黑白名單需要時常更新。

6.1.2 iframe的sandbox

iframe的sandbox屬性,就是html5安全中很重要的組成部分部分。於此同時還帶來了一個新的mime類型,text-html/sandboxed。

在html5頁面中,可以使用iframe的sandbox屬性,比如:<iframesrc="http://alibaba.com" sandbox>,sandbox後面如果不加任何值,就代表採用預設的安全性原則,即:iframe的頁面將會被當做一個獨自的源,同時不能提交表單,以及執行javascript指令碼,也不能讓包含iframe的父頁面導航到其他地方,所有的外掛程式,如flash,applet等也全部不能起作用。簡單說iframe就只剩下一個展示的功能,正如他的名字一樣,所有的內容都被放入了一個單獨的沙箱。

sandbox屬性可以通過參數來支援更加精確的控制,有以下幾個值可選擇:

q  allow-same-original:允許同源訪問

q  allow-top-navigation:允許訪問頂層視窗

q  allow-forms:允許提交表單;

q  allow-script:允許執行指令碼。

 參考:http://www.html5china.com/manual/html5/html5_iframe.htm

              http://www.cnblogs.com/yuzhongwusan/archive/2011/11/17/2252208.html

 

6.1.3 link types: noreferrer

在HTML5中<a>,<area>標籤定義了一個link types: noreferrer。標籤指定了noreferrer後,瀏覽器在請求指定的地址時將不再發送Referer。

6.1.4 canvas的妙用

<canvas>這個 HTML 元素是為了用戶端向量圖形而設計的。它自己沒有行為,但卻把一個繪圖 API展現給用戶端JavaScript 以使指令碼能夠把想繪製的東西都繪製到一塊畫布上。

可以使用<canvas>線上破解驗證碼。

參考:http://www.jb51.net/html5/71804.html

6.2 其他安全問題6.2.1 cross-origin resource sharing

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/88/7A/wKiom1f491TSAAv5AAVawz1jJQk175.png" title="62.png" alt="wKiom1f491TSAAv5AAVawz1jJQk175.png" />

6.2.2 postMessage——跨視窗傳遞訊息

在HTML5中新增了postMessage方法,postMessage可以實現跨文檔訊息傳輸(Cross Document Messaging),Internet Explorer 8, Firefox 3,Opera 9, Chrome 3和 Safari 4都支援postMessage。

該方法可以通過綁定window的message事件來監聽發送跨文檔訊息傳輸內容。

postMessage允許每一個window(包括當前視窗,當初視窗,inframe等)對象往其他視窗發送簡訊,從而實現跨視窗的訊息傳遞。這個功能不受同源策略的限制。

使用postMessage時,有兩個問題需要注意:

q  在必要是,可以接收視窗驗證Domain,設定驗證url,以防止來之非法頁面的訊息。這實際上是在代碼中實現一次同源策略的驗證過程。

q  根據“secure By Default”原則,在接收視窗不應該新人接收的訊息,需要對訊息進行安全檢測。

6.2.3 web storage

Web Storage實際上由兩部分組成:sessionStorage與localStorage。 sessionStorage用於本機存放區一個會話(session)中的資料,這些資料只有在同一個會話中的頁面才能訪問並且當會話結束後資料也隨之銷毀。因此sessionStorage不是一種持久化的本機存放區,僅僅是會話層級的儲存。 localStorage用於持久化的本機存放區,除非主動刪除資料,否則資料是永遠不會到期的。

優勢:

q  儲存空間:儲存空間 更大:IE8下每個獨立的儲存空間為10M,其他瀏覽器實現略有不同,但都比Cookie要大很多。

q  伺服器:儲存內容不會發送到伺服器:當設定了Cookie後,Cookie的內容會隨著請求一併發送的伺服器,這對於本機存放區的資料是一種頻寬浪費。而WebStorage中的資料則僅僅是存在本地,不會與伺服器發生任何互動。

q  介面:更多豐富易用的介面:WebStorage提供了一套更為豐富的介面,使得資料操作更為簡便。

q  儲存空間:獨立的儲存空間:每個域(包括子域)有獨立的儲存空間,各個儲存空間是完全獨立的,因此不會造成資料混亂。


《白帽子講WEB安全》學習筆記之第6章 HTML 5 安全

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.