CSRF令牌足以阻止XSSI攻击吗?

时间:2019-11-10 18:30:30

标签: security csrf cross-site

我已经阅读了有关Google Gruyere page中防止 XSSI攻击的信息。

格鲁耶尔(Gruyere)的三个主要建议,以防止 XSSI攻击:

  
      
  1. 首先,使用前面讨论的XSRF令牌来确保仅将包含机密数据的JSON结果返回给您   自己的页面。
  2.   
  3. 第二,您的JSON响应页面应仅支持POST请求,这将阻止通过脚本加载脚本   标签。
  4.   
  5. 第三,您应确保脚本不可执行。执行此操作的标准方法是将一些不可执行的前缀附加到   就像])} while(1);
  6.   

其他两个:

  
      
  1. 有一种称为JSONP的JSON变体,应避免使用,因为它允许按设计注入脚本。
  2.   
  3. 还有E4X(用于XML的Ecmascript),它可能导致您的HTML文件被解析为脚本。令人惊讶的是,一种保护方式   针对E4X攻击的方法是在文件中放入一些无效的XML,例如    以上。
  4.   

观看了一个演示文稿:videoslides

CSRF令牌足以阻止XSSI攻击吗?

不向响应添加不可执行的前缀(例如,Facebook对 for(;;)或Google-)]}',\ n )。

如果没有,当CSRF令牌就位时如何执行XSSI攻击?

1 个答案:

答案 0 :(得分:0)

在以下情况下,您会担心这种攻击:
 1.您的站点使用dynamicJS。
 2.并且这些页面包含个人数据或秘密令牌(csrf令牌)。

如果是,请使用以下最佳做法:
 1.将静态脚本和内容与用户数据分开保存。
 2.对JSON使用严格的POST方法。 (可以绕过)。
 3.使用CRSF令牌在响应之前进行验证。

因此CSRF令牌足以确保安全,但安全性建议包括所有最佳实践。

谢谢,
杰基