谨慎能捕千秋蝉(三)——界面操作劫持与HTML5安全

简介:

一、界面操作劫持

1)ClickJacking

ClickJacking点击劫持,这是一种视觉上的欺骗。

攻击者使用一个透明的、不可见的iframe,覆盖在网页的某个位置上,诱使用户点击iframe。

2)TapJacking

现在移动设备的使用率越来越高,针对移动设备的特点,衍生出了TapJacking(触屏劫持)。

手机上的屏幕范围有限,手机浏览器为了节约空间,可以隐藏地址栏,手机上的视觉欺骗会更加容易实施。

1. 第一张中最上方显示了浏览器地址栏,同时攻击者在页面中画出了一个假的地址栏;

2. 第二张中真实的浏览器地址栏已经自动隐藏了,此时页面中只剩下假的地址栏;

3. 第三张中是浏览器地址栏被正常隐藏的情况。

这种针对视觉效果的攻击可以被利用进行钓鱼和欺诈。

3)X-Frame-Options

针对传统的界面劫持,通过禁止iframe来防范。

HTTP头中有一个响应头X-Frame-Options,有三个值可以选择:

1. DENY:该页面不允许加载任何 iframe页面。

2. SAMEORIGIN:该页面可以加载相同域名的 iframe页面。

3. ALLOW-FROM uri:该页面可以加载指定来源的 iframe页面。

 

二、HTML5安全

HTML5中新增的一些标签和属性,使得XSS等Web攻击产生了新的变化,在HTML5 Security Cheatsheet中总结了这些变化。

1)隐藏URL恶意代码

反射型XSS中,会将恶意代码写在URL参数中,这样的话,用户也能看到恶意代码,例如下面的链接:

http://www.csrf.net/csrf.html?id=<script>111</script>

可以通过window.history来操作浏览器的历史记录

pushState()有三个参数:状态对象、标题,可选的URL地址。

history.pushState({},"", location.href.split('?').shift());

执行上面那段代码后就会将参数隐藏

新的URL地址就是下面这个:

“pushState”还可以伪造浏览器历史记录

for(i=0; i<10; i++)
    history.pushState({},"", "/"+i+".html");

2)HTML5下的僵尸网络

僵尸网络(Botnet)是指在大量的计算机中植入特定的恶意程序,使控制者能够通过若干计算机直接向其他计算机发送指令,进行网络攻击。

基于Web前端的僵尸网络可以用作DDOS攻击,这里涉及Web Worker技术CORS处理机制,再通过Web蠕虫传播。

Web Worker是一种多线程机制,可以异步执行恶意JS代码,而不影响用户在浏览器中的正常操作。

CORS处理机制工作在浏览器层面,如果服务器不允许跨站,浏览器将拦截服务器返回的结果,也就是说跨域请求,服务器也会正常响应。

那么就可以事先写好一段异步请求的脚本(worker.js),然后通过Web Worker来执行这段脚本,不断的向目标服务器发起请求。

var worker_loc = 'worker.js';//封装了ajax请求的脚本
var target = 'http://news.qq.com/photo.shtml';//要攻击的网址
//可实例化多个Web Worker
var workers = [];
for (i = 0; i < 1; i++) {
      workers[i] = new Worker(worker_loc);
      workers[i].postMessage(target);//跨域消息传递
}

 

demo源码下载:

http://download.csdn.net/download/loneleaf1/9747052

 

参考资料:

浅谈Web前端僵尸网络


本文转自 咖啡机(K.F.J) 博客园博客,原文链接: http://www.cnblogs.com/strick/p/6364766.html  ,如需转载请自行联系原作者


相关文章
|
3月前
|
存储 安全 JavaScript
如何安全的渲染HTML字符串?
如何安全的渲染HTML字符串?
|
3月前
|
安全 JavaScript Go
Vue中的v-html指令有什么潜在的安全风险?如何防范?
Vue中的v-html指令有什么潜在的安全风险?如何防范?
158 1
|
2月前
|
安全
好看的安全跳转单页html源码
好看的安全跳转单页html源码
53 8
好看的安全跳转单页html源码
|
前端开发 算法 安全
WEB安全之html基础
写了好久的算法和数据结构了,终于要进我的主业了,(数据结构和算法还会继续更新)。在渗透过程中,我们往往会写钓鱼页面,不可能写的页面被别人看到一眼假。包括往往会遇到前端的漏洞,所以学好前端三件套,尤为重要,这也是我接下来要做的事,让你们花更少的时间,学会前端三件套。今天先开一节即html。争取用最少的时间,完成前端的学习。
132 0
WEB安全之html基础
|
移动开发 安全 前端开发
谨慎能捕千秋蝉(三)——界面操作劫持与HTML5安全
ClickJacking点击劫持,这是一种视觉上的欺骗。 攻击者使用一个透明的、不可见的iframe,覆盖在网页的某个位置上,诱使用户点击iframe。
谨慎能捕千秋蝉(三)——界面操作劫持与HTML5安全
|
JavaScript 前端开发 安全