【问题标题】:CSRF - sending ajax requests to get tokenCSRF - 发送 ajax 请求以获取令牌
【发布时间】:2018-06-09 00:27:00
【问题描述】:

我正在为我的网站开发 CSRF 保护。

我将令牌保存在表单+会话的隐藏输入中,然后检查它们是否相等。

我只是想知道这种情况:

  • 用户访问恶意网站
  • 恶意网站发送 ajax GET 请求以获取带有表单的页面并从中提取令牌
  • 恶意网站发送 POST 请求更改数据 + 之前提取的令牌。

在这种情况下可能吗?我错过了什么吗?

【问题讨论】:

  • 你会感到困惑。每个网站在服务器端都有唯一的会话(CSRF 令牌初始化)。

标签: php session csrf


【解决方案1】:

每个网站都必须有一个唯一的令牌才能使其正常工作,并且它是在服务器端分配的。看一下我们是如何做到的:https://blog.myetv.tv/2017/09/18/writing-secure-code-how-myetv-do-crypt-auth-transfer-and-store-informations/

您可以在令牌中包含 sessionID 或/和其他类型的数据,例如 userip(如果您愿意,您还可以使用 AES 对它们进行加密,使其更加独特并且基本上不可能被克隆);加密方法只是额外的,并且在速度方面可能非常密集,您应该重视如何使用它(在大多数情况下,使用 SHA 散列的唯一 sessionid 是可以的)。

希望对你有帮助;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2017-05-17
    • 2018-04-23
    相关资源
    最近更新 更多