`
elicer
  • 浏览: 130989 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

frame-jacking(clicking jacking, Redress issue)

阅读更多

 

 

Brief

Currently there is a vulnerability of some application which is the application can be opened  inside a frame, and the application does not detect whether the application has been loaded in frames, which could lead to an attack by which users are persuaded to perform site actions without their knowledge. This is called clickJacking or UI Redress attacks.

Solutions

Even through there are no particularly reliable and non-intrusive ways for applications to prevent attacks, Relatively there are two major approach to fix this issue,  one is use frame-busting scripts which is a client side solution, another is setting the x-frame-options in the http header which is a server side solution.

  • Frame-busting scripts 

         This approach is to include JavaScript to detect having the page rendered within a cross-domain <IFRAME>, and try to break out of it, e.g.

 
try {
            if (top.location.hostname != self.location.hostname) throw 1;
         } catch (e) {
            top.location.href = self.location.href;
         }
 

It should be noted that there is no strict guarantee that the update of top.location would always work,particularly if dummy setters are defined, or if there are collaborating, attacker-controlled <IFRAME> containers performing conflicting location updates through various mechanisms.A more drastic solution would be to also overwrite or hide the current document pending page transition,or to perform onclick checks on all UI actions, and deny them from within frames.
All of these mechanisms also fail if the user has JavaScript disabled globally, or for the attacked site.

Further more the busting scripts can be defeated also, one of the approach outlined below:

http://stackoverflow.com/questions/958997/frame-buster-buster-buster-code-needed/

     Pros:

  • Almost all the browsers supproting this approach.

     Cons:

  • if the JS was disabled this approach will not work.
  • This approach can also be defeated

   

  • X-FRAME-OPTION

    Back in January of 2009, IE8’s support for a new header-specified directive: X-Frame-Options, that can be used to mitigate ClickJacking attacks. As a declarative security measure, X-Frame-Options has minimal compatibility impact, but requires adoption by clients and servers in order to provide its security benefit.
    Web developers can send a HTTP header named X-FRAME-OPTIONS on HTML responses to restrict how the page may be framed. By setting this value to DENY which will prevent the page from rendering if it will be contained within frame.
    Different browser will have different behaviour, some browsers (e.g. IE, Opera) will show a message that allows the user to safely open the target page in a new window. Other implementations (e.g. Chrome, Safari) will simply render an empty frame.
    Pros:

  • This approach have no dependent on whether the JS was disabled or not.
  • Currently there is no bypass solution for this, if the browser support x-frame-options.

         Cons:

  • This approach will not take effect on some old version of browsers who is not supporting x-frame-options.

Browsers Supporting X-Frame-Options

  • IE8+
  • Opera 10.50+
  • Safari 4+
  • Chrome 4.1.249.1042+
  • Firefox 3.6.9 (or earlier with NoScript)

Testing result with x-frame-options set to DENY

Browser Version Results
Firefox 3.5.5 with NoScript 3.5.5 application was blocked with an option to open in another window
Chrome 21.0.1180.89 application was blocked with a blank frame
Safari 4.0.3 application was blocked with a blank frame
IE6 6.0 application can still been opened
IE7    
IE8    
Opera    

Testing result with frame-busting scripts

Browser Version Results
Firefox 3.5.5 with NoScript 3.5.5 application will bust the window
Chrome 21.0.1180.89 application will bust the window
Safari 4.0.3 application will bust the window
IE6 6.0 application will bust the window
IE7    
IE8    
Opera    
分享到:
评论

相关推荐

    适用于iOS / tvOS的Parallax Scroll-Jacking Effects引擎.zip

    适用于iOS / tvOS的Parallax Scroll-Jacking Effects引擎.zip,Parallax Scroll-Jacking Effects Engine for iOS / tvOS

    Disable Scroll Jacking-crx插件

    让我知道,我将对其进行修复:https://gitreports.com/issue/joshbalfour/disable-scroll-jacking?name=optional&email=optional@co.com隐私政策:https://joshbalfour.github.io/ disable-scroll-jacking / privacy...

    禁用滚动顶起「Disable Scroll Jacking」-crx插件

    让我知道,我会解决它:https://gitreports.com/issue/joshbalfour/disable-scroll-jacking?name=optional&email=optional@co.com 隐私政策:https://joshbalfour.github.io/disable-scroll-jacking/privacy.html ...

    Click Jacking点击劫持漏洞验证.pdf

    本文详细讲解Click Jacking点击劫持漏洞原理及利用方式。该漏洞成功利用的关键就是能够将伪造的网页源码覆盖到目标页面上,并且在受害者不知情的情况下诱导进行操作,可将操作记录打印输出到控制台。攻击者也可通过...

    jacking demo

    最新版的介绍jetspeed的layout和portlet的解析

    VCS:车辆稳定性控制系统

    蓝牙 [使用 Pub Nub 通信 API 模拟通过 Blue-Jacking 进行实时通信]。 GPS(仅在汽车发动机点火时使用,用于初始化 x,y(即当前纬度/经度))。 [初始位置信息] 指南针 [了解指定汽车的瞬时方向] 使用的库/API: ...

    No more scroll jacking-crx插件

    语言:English 此扩展可防止滚动顶针,同时按住META密钥 滚动(或任何其他元键,控制,ALT),同时滚动和滚动顶针将被禁用。

    Social Jacking Alarm-crx插件

    语言:English (UK) 防止您的浏览器被劫持。 适用于Google Chrome的应用程序,可以保护您的社交网络。 现在,您可以放心使用键盘,与此同时,还可以抓住那些试图闯入您的浏览器的人,获得一些乐趣。

    社会顶峰报警「Social Jacking Alarm」-crx插件

    防止您的浏览器劫持尝试。 适用于Google Chrome的应用程序,可以保护您的社交网络。 现在,您可以放心使用键盘,与此同时,还可以抓住那些试图闯入您的浏览器的人,获得一些乐趣。 支持语言:English (UK)

    Active Man in the Middle Atacks

    Although MitM attacks against Web Applications have been partially discussed before with similar issues such as "SideJacking" and "Surf Jacking", a comprehensive full research has yet to have been ...

    CoinEater-crx插件

    加剧器保护您免受密码jacking的威胁。 加入器阻止加密矿工,如硬币。它的阻止列表是基于定期的互联网范围的安全扫描,这些扫描在科学研究项目中进行。由IT安全研究所...

    可控停车器质量信息系统

    可控停车器质量信息系统

Global site tag (gtag.js) - Google Analytics