相关疑难解决方法(0)

如何保护小部件免受伪造请求

假设您有一个JavaScript小部件,当且仅当用户想要点击它时,才需要向您的Web应用程序发出请求.您不希望此请求容易受到CSRF的攻击,因此您可以向页面编写iframe.根据原始继承规则,父站点将无法读取CSRF令牌.然而,点击劫持(或劫持)呢?由于CSRF,你必须在iframe中,而x-frame-options无法帮助,对于帧破坏者也是如此.

在加载小部件后,攻击者将在iframe中应用SVG掩码.此掩码将使iframe不可见.此时,攻击者可以将iframe的大小调整为页面大小,也可以使iframe跟随游标不可见.无论何时用户点击页面上的任何位置,iframe都会收到点击事件及其游戏结束.

所以有一个二元性,似乎你陷入了CSRF和Clickjacking之间.什么是这个问题的最佳解决方案(如果有的话)?

javascript browser security widget clickjacking

16
推荐指数
2
解决办法
1421
查看次数

Facebook喜欢的按钮是否容易受到点击劫持?

几天前我从http://javascript.info/tutorial/clickjacking上读到了关于点击劫持的攻击.所以今天我尝试使用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> …
Run Code Online (Sandbox Code Playgroud)

javascript security facebook facebook-graph-api

5
推荐指数
1
解决办法
2829
查看次数