别信眼睛!Clickjacking正劫持你的点击!

点击劫持(Clickjacking)作为一种网络攻击方式,颇为狡猾。攻击者运用技术手段,诱使用户点击那些隐匿起来或者经过精心伪装的恶意元素。在用户浑然不觉的情形下,诱导其执行并非本意的操作。如此一来,攻击者便可窃取用户的敏感信息,对账户实施控制,或者传播恶意软件。

免责声明:本文章仅用作以防御为目的的教学演示,所有操作均在本地靶机内完成,请勿将技术用于违法用途!

案例介绍



这是恶意网页的源代码,在浏览器界面中,我们看到的网站页面是平平无奇的


当我们随便点击任何一个地方时就会下载Server.exe(也就是病毒/木马)


当然,JS脚本可不止单单局限于下载软件,事实上它还可以进行授权(获取你的手机信息,通讯录等);让你的设备为他挖矿(挖矿病毒);恶意网站跳转DDOS获取浏览器缓存访问摄像头监控麦克风盗取Token,甚至配合上病毒可以实现远控...

源码解析

我们接下来对源码进行分析:

在第2行:<html id="Clickjacking"> 这串代码就是给html标签了一个ID作用也很简单,就是为了定位,不过这更像是一个触发点。

在第10~12行:document.getElementById('Clickjacking').addEventListener('click', function() { window.location.href = 'Server.exe'; }); 这串代码就是核心,通过document.getElementById定位元素,通过addEventListener设定触发条件(当用户点击click时),最后通过window.location.href定义跳转的地址(Server.exe) 这样就会下载病毒/木马程序

因为ID是给的html标签,所以无论是页面那个地方都属于这个标签下,都等同于点击了html标签,都会触发Server.exe的下载

预防与维护

攻击与利用

在html标签中有一个iframe标签,它可以将别的网页的内容嵌入到自己的网站中,在常见的Clickjacking中,会在一些功能性按钮上添加透明按钮,这样用户本以为是点击的功能安全其实是透明按钮。


这是我自己发现的一个含有Clickjacking漏洞的网站(还是一个大厂),这里为了保护隐私对重要部分进行了打码处理,这个网站的主要目的是盗取用户的用户名和密码。

可以看到我们成功拿到了受害者的用户名和密码,并且奖励他看给片片(这里是真涉黄了,进行了打码)我们后期搭配上AIP接口的使用就可以将用户名和密码真实的返回到服务器上,从而窃取用户的敏感信息了。

你问我能不能识别出来?当然可以首先就是域名问题,因为域名是独一无二的所以确定好域名就可以立刻识别出来这是一个恶意软件。其次就是观察,你要是经常使用这个网站就可以看出来还是跟原有的网站是有些不同的,再者就是查看源码。

当然,若原网站包含着任意上传或者注入漏洞,那我就可以将恶意网站放到原网站的服务器上,但是脚本还是连接着我的服务器,那时候就真假难辨了,如果提权成功,我将整个指向登录的界面都改成它,在将JS脚本进行加密那唯一可以结束这一切的就只有服务器的维护人员发现它了。

当然以上的办法是针对Clickjacking的攻击思路,大家也不用害怕这种事情发生,虽然办法和思路都是可行的,但是我都打到服务器了都提权成功了,我还干这个干什么?直接对数据库进行注入就行了(尬笑)....

原文链接:,转发请注明来源!