点击挟持ClickJacking

攻击者使用一个透明的不可见的iframe覆盖在一个网页上,诱使用户在该网页上进行操作,在用户不知情情况下诱使用户完成一些动作,利用与用户交互页面,调整iframe页面的位置,恰巧点在功能性按钮上。

Flash点击挟持

图片覆盖攻击Cross Site Image Overlaying –XSIO

通过调整图片的位置使得覆盖在所指定任意位置。

  • 防御:需要检查用户提交的HTML代码中 < img>标签的style属性是否可能导致浮出。

拖拽挟持与数据窃取

Drag & Drop
诱使用户从隐藏不可见的iframe中拖拽出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。拖拽不收同源策略的限制

触屏挟持

  • touchstart
  • touchend
  • touchmove
  • touchcancel系统可取消touch事件

    防御ClickJacking

  • 禁止跨域的iframe来防范
  • frame busting :使用javascript禁止iframe嵌套
    • if(top.location !=location) {top.location=self.location}
    • if(top!=self)
    • ……
    • 这种方式容易被绕过,比如嵌入多个iframe,此外iframe的sandbox属性和security属性限制JS脚本执行,使frame busting 失效
  • X-Frame-Options:HTTP头
  • Content Security Policy(firefox)
  • NoScript(firefox)