HTML5安全风险详析之四:Web Worker攻击 |
本文标签:HTML5安全 Web Worker攻击 一、WebWorker介绍 因为Javascript是单线程执行的,在执行过程中阅读器不能执行其它Javascript脚本,UI渲染线程也会被挂起,从而招致阅读器进入僵死状态 。 使用WebWorker 可以将计算过程放入一个新线程里去执 即将幸免这种状况的浮现 。这样我们 可以同时执行多个JS 使命而不会堵塞阅读器,十分 合适异步交互和大规模计算,这在以往是很难做到的 。 【 有关文章】: HTML5安全风险详析之一:CORS 突击 HTML5安全风险详析之二:Web Storage 突击 HTML5安全风险详析之三:WebSQL 突击 下面一张图形象的揭示了WebWorker的作用:没有WebWorker时,假如我们要煎一个鸡蛋饼,需求先和面粉, 而后打鸡蛋,最终 威力煎饼; 使用WebWorker, 可以在和面粉的同时打鸡蛋,这两者同时进行,都 实现后就能开始煎饼,极大的缩小了期待的 工夫 。 然而这样一个好的 特点也会引入 突击的可能 。 二、WebWorker 突击 1、Botnet 突击的 模式包含DDos 突击、发送垃圾邮件,消费者一旦 拜访 歹意页面或者网站时,页面的 歹意代码就能把消费者的阅读器当作肉鸡,利用WebWorker大规模执行多线程 突击,例如DDos 突击、发送垃圾邮件或者进行网络嗅探 。 DDOS 突击( 分布式 回绝服务 突击) 2、postMessage带来的问题 WebWorker 无奈 拜访DOM,不得不通过postMessageAPI和主线程通讯 。postMessage在HTML5中被引入,用来解决跨域或者跨线程数据交互的问题 。然而假如messaging 可以 接纳任何 起源的信息,此页面有可能会被 突击;另外postMessage不通过服务器,假如不 通过验证和过滤,可能成为XSS注入点 。例如如下代码没有对输入数据进行验证和 荡涤, 突击者 彻底 可以 构造 歹意的data来注入页面DOM, 构造XSS 突击,形如“>”等等 。
三、 突击工具 Ravan是一个JS的 分布式计算系统, 可以用HTML5Web Worker通过 后盾加密的JS多线程脚 原来执行蛮力 突击 。 四、预防之道 1、关于消费者来说,不要 拜访不安全的站点 。 2、 使用postMessage时需求验证 起源可信;另外不要 使用innerHTML,现代阅读器提供了textContent属性, 可以协助对HTML标签进行过滤,或者你 可以自行编写过滤的逻辑和函数 。 |