【问题标题】:Cross-site request forgery token viewable in source code源代码中可见的跨站请求伪造令牌
【发布时间】:2016-02-23 14:59:08
【问题描述】:

我的跨站请求伪造令牌是否可以在我的网页源代码上查看 我正在生产中运行一个 Rails 应用程序,可以看到跨站点请求伪造令牌我猜它不应该是可见的

【问题讨论】:

  • 它必须是“可见的”并且每个会话必须是唯一的。一旦访问者发送请求,csrf 令牌也会发送到服务器,并与存储在会话中的令牌进行比较。

标签: ruby-on-rails csrf


【解决方案1】:

如果不可见,就无法将其放在网页上。如果你不能把它放在网页上,那么你就不能使用它。网页中没有不在源代码或标题中的“秘密”部分,这两者都可以轻松查看。所以,从逻辑上讲,如果它要具有任何功能,它必须是可见的。

因此,为了使其作为安全系统的一部分发挥作用,系统的安全性不能依赖于任何人都无法看到令牌是什么,事实确实如此。系统的安全性取决于token匹配一个储值服务器端:换句话说,就是表单提供的token,即从服务器发送到客户端,需要匹配提交的token BACK TO THE SERVER通过表格。

阅读:https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 2011-05-17
    • 2014-06-21
    • 2011-01-16
    • 2012-08-14
    • 2013-02-28
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多