前端黑客之界面操作劫持

什么是界面操作劫持?

界面操作劫持攻击是一种基于视觉欺骗的Web会话劫持攻击,它通过在网页的可见输

入控件上覆盖一个不可见的框(iframe——如果前面分享的东西你都去学了肯定知道

这个是什么),让用户以为在操作可见控件,但是实际上用户的操作行为被其不可见

的框所劫持,执行不可见框中的恶意劫持代码,从而完成在用户不知情的情况下窃取

敏感信息,篡改数据等攻击。

劫持分类:

1、点击劫持:

劫持的是用户的鼠标点击操作,主要的劫持目标是有重要会话交互的页面,比如,银

行交易页面、后台管理页面或者劫持用户的摄像头和麦克风。

例子:

在页面中插入一个指向目标网站的iframe。

在这个示例中有一个button按钮,当iframe设置成完全透明的时候,用户看到的效果

是这样的:

(当透明的设置成完全透明)

(完全透明时的效果)

当把iframe设置成半透明的时候,就可以看到button上覆盖了另一个网页:

(调整透明度)

(半透明度的效果:实际隐藏了一个iframe窗口)

如果这里设置好iframe的位置的话,就可以实现任意位置的覆盖。(这里我就不再演

示了)

也就是当用户点击这个button按钮的时候,实际上他就会点击你所设置的iframe页面

中的某个按钮或者链接。

分析关键部分:

在这里通过控制iframe的长、宽、top、left的位置,就可以随意的把页面中的任何部分覆盖到

任何地方。最关键的是通过opacity来设置透明的,当值为0的时候就是完全不可见。

至此,就完成了一次点击劫持的攻击。

针对图中透明层使用的CSS样式做一下解释:

filter:alpha(opacity=50),数据从0到100,数据越小,透明的越高。

opacity:0.5,数值从0到1,数值越小,透明度越高。

z-index:1,数值可以是负数,高数值的控件会处于低数值控件的前面,数值越高,控件越靠近用户。

position:规定元素的定位类型。

想要铭记,唯有动手练习!

2、拖放劫持:

实际上就是点击劫持的演进版本。

在现在的Web应用中,有一些需要用户采用鼠标拖放完成的操作,而且用户也经常在

浏览器中使用鼠标拖放操作来代替复制粘贴。因此,拖放操作劫持很大程度的扩展了

点击劫持的攻击范围,也将劫持模式从单纯的鼠标点击扩展到了鼠标拖放行为。

例子:通过劫持某个页面的拖放操作实现对其他页面链接的窃取,这些连写中可能会有

session key、token、password等信息;或者可以把其他浏览器中的页面内容拖放

到富文本编辑器模式中,这样就能够看到页面源代码了,而这些HTML源代码中可能

会存在铭感信息。

3、触屏劫持:

移动智能终端设备由于体积限制,一般都没有鼠标、键盘这些输入设备,用户更多的

操作是依靠手指在触屏上的点击或滑动等动作完成。在移动设备上,类似点击劫持的

攻击模式,实现了对用户触摸屏操作的劫持攻击,即界面操作劫持攻击的又一种形式

——触屏劫持。

有什么危害?

界面操作劫持实际上突破了CSRF的防御策略,这是一种社工色彩很强的跨域操作,

而这种跨域正好是浏览器自身的特性,他带来的危害可以很大,比如,篡改与删除数

据,偷取隐私甚至爆发蠕虫。在真实的攻击案例中,这类攻击出现得非常少。但是将

来可能会逐渐躲起来,界面操作劫持会不断地优化。

开了一个新群,期待感兴趣的小伙伴加入进来,一起学习交流解决问题,吹水广告勿扰      

                                            感兴趣的小伙伴也可以在评论去留言

你可能感兴趣的:(前端黑客之界面操作劫持)