软件开发培训班 >> 网络技术 >> 网络安全
HTML5安全风险详析之五:劫持攻击 |
|
本文标签:HTML5安全 劫持攻击 下面我们要讲到一类的HTML5安全问题,也便是劫持的问题 。 一、ClickJacking-点击劫持 这种 突击 模式正变得越来越 广泛 。被 突击的页面作为iframe,用Mask的 模式设置为透明放在上层, 歹意代码偷偷地放在后面的页面中,使得一个页面看起来 仿佛是安全的, 而后诱骗消费者点击网页上的内容,达到窃取消费者信息或者劫持消费者操作的 目标 。下图中,欺诈的页面 搁置在下层,被 突击的银行页面作为透明的层 搁置在上层,消费者看到的是欺诈页面上显示的信息并进行输入和点击,然而真正的消费者行为是 产生在银行页面上的 。
设想一下,点击劫持 可以诱使你公布一条 虚假微博、或者发送一封 虚假邮件甚至盗取你的个人信息 。例如下图 可以诱使我们公布一条 虚假的Twitter 信息 。
这里有一个测试工具clickjacktest 可以检测你的页面是不是有点击劫持的风险,你 可以输入一个网址并点击Test,假如页面 可以 畸形显示并加载,那么 示意这个页面存在被点击劫持 突击的风险,假如页面显示为一片空白,那么 示意页面 比较安全 。
二、CookieJacking-Cookie劫持 ClickJacking只 波及点击操作,然而HTML5的拖放API使得这种 突击 扩充到拖放操作 。由于现在Web 利用里,有大量需求消费者拖放 实现的操作 。在同源策略里,一个域的Cookie不得不被本域所 拜访,然而拖放操作是不受同源策略 制约的,这样利用拖放操作、XSS和 其余技巧, 可以 构造跨域合法 申请,劫持Cookie 。
把Cookie从一个域拖拽到另外一个域里 实现原理其实和ClickJacking 类似, 惟独 诱骗消费者进行拖放行为,就 可以把消费者某个域的信息发送到另外一个域里 。这个其实很方便做到,之前有一个探究者就在Facebook上 构建了一个 利用,这个 利用的 性能是让消费者把图片上美女的衣服拖拽下来 。我想可能大多数人都会去尝试并且不会有 警觉心理 。
一个诱骗拖放的小游戏 我们 该当如何 预防ClickJacking、CookieJacking呢? 1、X-Frame-Options:全部的现代阅读器都 支撑X-Frame-Options HTTP头,这个头同意页面被iframe 使用时是不是 畸形渲染 。下图中的页面便是当X-Frame-Options生效时的 动机 。
2、Javascript 模式 这种 模式非 一般见,具体代码便是:
Facebook和Twitter都 使用了这种 模式,然而这种 模式并不是 彻底 见效的,例如 突击者 可以 使用204转向或者禁用Javascript的 模式来绕过(例如iframe沙箱) 。 不过现在至少80%以上的网站都没有 留神到点击劫持和cookie劫持的问题并加以 掩护 。我这篇文章的重要 目标便是 揭示大家 留神到这种 隐秘的 突击 模式并有针对性的进行防备 。 三、CORJacking-跨域资源劫持 CORJacking是指跨源资源劫持 。HTML5 利用有各种不同的资源,例如Flash文件,Silverligh,视频,音频等,这些资源 可以通过DOM 拜访和操纵 。假如页面存在XSS 漏洞,那么 突击者可能通过跨域资源的劫持进行 突击 。例如下面的代码载入了一个swf文件,作为消费者登录框,这里面我们 可以实现一些加密的逻辑 。
当页面存在XSS 漏洞时, 突击者 可以利用如下脚本把swf文件替换为欺诈的 虚假资源 。
那么当消费者在这样的登录框里输入自己的消费者名和密码并登录时,他的帐号就已经被盗取了 。
这个问题在不同阅读器里面 体现是不 统一的,感兴趣的朋友 可以下去自行测试 。 |