gpt4 book ai didi

ruby-on-rails - Rails 的常用 XSS 保护有多防弹?

转载 作者:数据小太阳 更新时间:2023-10-29 08:11:43 26 4
gpt4 key购买 nike

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

def datahandler
@data = params[:usersdata]
end

然后在相关 View “datahandler.html.erb”中,我有以下内容:

<%= @data %>

应该是一个巨大的XSS漏洞吧?好吧,看起来 Rails 现在自动将字符串对象中的某些字符转换为 CDATA 表示以供其 View 使用。这似乎至少打破了我发现的 XSS 攻击示例。

但是,由于我不是 XSS 漏洞方面的专家,因此我不太愿意在没有进行一些研究的情况下依赖这种机制。此外,Rails Guides似乎没有谈论这个功能,即使在他们的安全指南中也是如此(他们谈论防御 XSS 但他们没有提到这个功能)。我找不到关于此的任何文档。

谁能给我指点有关此功能的一些文档?如果没有,有谁知道这种保护有什么漏洞吗(请举例说明)?

最佳答案

Rails 的常用 XSS 保护非常防弹。

默认行为是 changed in Rails 3 , 以“在所有 View 模板中默认转义 HTML 输出...”。尽管在某些情况下 escaping needed to be adjusted , 大多数known XSS vulnerabilities in Railsnot been centered around this functionality .

无论如何,您问题中的代码应该非常安全。当前 Rails 中 XSS 保护的主要问题是由 developers misunderstanding the mechanics of the process 引起的.抽空fully understand the implementation将确保您不会无意中引入 XSS 错误,尽管有内置保护。

关于ruby-on-rails - Rails 的常用 XSS 保护有多防弹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33295672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com