1、漏洞原理
点击劫持是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的功能按钮上。
2、漏洞检测
打开Burp,拷贝攻击代码
打开web页面,F12进入开发者模式,进入控制台,粘贴攻击代码
burp会加载该web页面,点击 “start” 开始。
3、修复建议
- X-Frame-Options 是目前最可靠的方法,它有三个值分别是:DENY、SAMEORIGIN、ALLOW-FROM origin
DENY:浏览器会拒绝当前页面加载任何frame页面
SAMEORIGIN:则frame页面地址只能为同源域名下的页面
ALLOW-FROM origin:则可以定义允许frame加载的页面地址
- Apache:在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:Header always append X-Frame-Options SAMEORIGIN
- nginx:配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:add_header X-Frame-Options SAMEORIGIN;
- IIS:配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:
1 <system.webServer> 2 <httpProtocol> 3 <customHeaders> 4 <add name="X-Frame-Options" value="SAMEORIGIN" /> 5 </customHeaders> 6 </httpProtocol> 7 </system.webServer>