关闭登录页面上的csrf / authenticity_token保护

时间:2012-06-05 21:35:04

标签: ruby-on-rails security ruby-on-rails-3.2 csrf

我们正在考虑在我们的登录页面上关闭csrf / authenticity令牌保护。 (可能在登录帖子操作中使用skip_before_filter)。这将允许我们从我们网站上的静态html页面发布。这有什么安全隐患?似乎如果我们仅针对登录帖子将其关闭,那么就没有太多恶意可以做到。

1 个答案:

答案 0 :(得分:2)

CSRF代币并非旨在阻止机器人! CSRF(跨站点请求伪造)是一种攻击,其中触发了欺骗性的公式/网址,例如通过一个看不见的iframe。在弱系统上,攻击者可以在主页上更改配置。

让我描述一个示例攻击: 网店的管理员登录到他的管理员帐户。攻击者现在向他发送一封邮件,其中包含指向虚假主页的链接。当管理员进入页面时,JavaScript会将数据发送到URL,在那里他将发送表单以创建新的管理员用户,并且JavaScript会发送所有需要的数据,如新用户名,新密码等。管理员已登录,从网店开始,管理员创建一个常规的新管理员帐户。从管理员的角度来看,没有任何事情发生,因为所有事情都发生在后台。 CSRF令牌可以防止表格受到类似攻击。

您可以在维基百科上阅读更多有关CSRF的内容:http://en.wikipedia.org/wiki/Cross-site_request_forgery