【问题标题】:csrf protectioncsrf 保护
【发布时间】:2015-01-16 04:30:26
【问题描述】:

关于preventing CSRF 的文章很多。

但我就是不明白:为什么我不能只解析目标页面表单中的 csrf 令牌并将其与我的伪造请求一起提交?

【问题讨论】:

    标签: xss csrf


    【解决方案1】:

    如果您能够将脚本代码注入目标页面 (XSS),那么是的,您可以这样做,从而使 CSRF 预防无效。

    CSRF 令牌必须存储在最终用户收到的页面中(否则他也不会知道)。

    事实上,在安全评估中,XSS 通常不是针对其自身的潜在破坏性进行评估,而是针对其在此类攻击中的用途进行评估。

    【讨论】:

      【解决方案2】:

      CSRF 攻击是盲目的。他们进行会话骑行,攻击者无法直接控制,除非他可以通过 XSS 漏洞提取令牌。通常可以使用会话范围的令牌。每个请求轮换令牌可能是一种矫枉过正的做法,并可能导致误报。我更喜欢将每个资源的令牌与主会话令牌一起使用。

      【讨论】:

        【解决方案3】:

        CSRF 令牌对于每个用户和每个请求都应该是完全不同的令牌,因此攻击者永远无法猜到它。

        对于 php、.net 和 javascript,请查看 OWASP CSRFGuard Project - 如果您正在使用 java 和 jsf 2.x,它已经针对 CSRF 进行了保存(只要您使用 POST 而不是 GET - 为此您将必须等待 JSF 2.2)否则如果您在没有 JSF 的情况下工作,来自 OWASP ESAPI 的 HTTPUtillities Interface 也可能非常有帮助!

        【讨论】:

          【解决方案4】:

          因为事先不知道 CSRF 令牌的价值。

          【讨论】:

            猜你喜欢
            • 2020-12-18
            • 2018-05-27
            • 2012-10-08
            • 2018-02-10
            • 1970-01-01
            • 1970-01-01
            • 2011-10-07
            • 2019-02-03
            • 2016-01-12
            相关资源
            最近更新 更多