Ruby on rails 钢轨的防弹性能如何';股票XSS保护?

Ruby on rails 钢轨的防弹性能如何';股票XSS保护?,ruby-on-rails,ruby,ruby-on-rails-4,xss,Ruby On Rails,Ruby,Ruby On Rails 4,Xss,在Rails 4.2.4中,假设我有一个带有文本字段的表单,用户可以输入他们想要的任何内容。我根本不清理输入。然后,用户将表单提交给控制器方法,如下所示: def datahandler @data = params[:usersdata] end 然后在相关视图“datahandler.html.erb”中,我有以下内容: <%= @data %> 应该是一个巨大的XSS漏洞,对吗?看起来Rails现在可以自动将字符串对象中的某些字符转换为视图的CDATA表示形式。这

在Rails 4.2.4中,假设我有一个带有文本字段的表单,用户可以输入他们想要的任何内容。我根本不清理输入。然后,用户将表单提交给控制器方法,如下所示:

def datahandler
   @data = params[:usersdata]
end
然后在相关视图“datahandler.html.erb”中,我有以下内容:

<%= @data %>

应该是一个巨大的XSS漏洞,对吗?看起来Rails现在可以自动将字符串对象中的某些字符转换为视图的CDATA表示形式。这似乎至少打破了我发现的XSS攻击示例

然而,如果不进行一些研究,我就不敢依赖这种机制,因为我不是XSS漏洞方面的专家。此外,即使在他们的安全指南中,他们似乎也没有提到这个特性(他们谈到了防御XSS,但没有提到这个特性)。我还没有找到任何关于这个的文档


有人能给我指一些关于这个功能的文档吗?如果没有,是否有人知道此保护中存在任何漏洞(请提供示例)?

就我而言,默认情况下它不会这样做,但它有一个保护机制,可以为您这样做,以防您想使用它

Rails的库存XSS保护非常防弹

默认行为是“在所有视图模板中默认转义HTML输出”。虽然也有一些案例,但大多数都是这样


无论如何,问题中的代码应该是相当安全的。Rails中当前XSS保护的主要问题是由。尽管有内置的保护功能,但花点时间来避免无意中引入XSS错误

您可能也对escape_javascript助手感兴趣。这可以随时派上用场,但默认情况下不会这样做。非常感谢你。这正是我想要的信息。我还没有读完很多CVE,但是在阅读了这些文章之后,我对内置XSS保护和我对它的理解感觉好多了。@Rossman非常欢迎你。我认为主要的收获可能是视图模板转义非常健壮,直到你用一堆RAW和html\u保险箱把它弄得一团糟。@BradWerth,ActiveSupport.escape\u html\u entities\u在\u json中现在默认为false。恕我直言,你似乎混淆了几个不同的项目。