【问题标题】:Is CSRF Security Dependent on Front-End?CSRF 安全是否依赖于前端?
【发布时间】:2020-09-28 20:41:56
【问题描述】:

我想弄清楚我是否完全正确理解 CSRF 安全性。基于:

https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html

在所有情况下,您的前端似乎都必须在某处拥有 CSRF 令牌,以便在将请求发送到后端时,它可以将 cookie/会话中的 csrf 令牌与请求进行比较。 这样,当攻击者尝试代表登录用户创建请求时,由于他们在请求中没有令牌,因此不会对其进行验证。

这意味着为了实现 CSRF,您需要同时配置前端和后端。

现在假设我希望所有的 CSRF 安全都在后端完成,这可能吗,而不是更改前端?

另外,如果我的前端应用程序与后端分离,我还需要担心 CSRF 攻击吗?

【问题讨论】:

    标签: api backend csrf csrf-token


    【解决方案1】:

    CSRF 是前端和后端之间的协作。这是为了验证请求是否来自您网站上的实际用户,而不是有人恶意强迫用户做某事..就像在另一个网站上有一个表单,它将向银行 URL 提交一个发布请求以转移资金(通常的例子),如果该用户仍然登录到该银行,它只会在没有此 CSRF 检查的情况下进行转账。

    简而言之,CSRF:您在后端生成随机的东西,在用户的会话(即服务器端)中设置它。然后在生成表单时,将此值作为隐藏字段包含在内。

    提交此表单后,您将其与会话中存储的值进行比较,这样您就知道该用户实际提交了该表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 2022-08-02
      • 2018-10-02
      • 1970-01-01
      相关资源
      最近更新 更多