【问题标题】:Difference between OTP Token and CSRF Token [closed]OTP令牌和CSRF令牌之间的区别[关闭]
【发布时间】:2020-11-14 22:39:18
【问题描述】:

我正在搜索防止 URL 伪造

如下例所示

http://www.test.com/tranfer-money.do?value=1000000

如果我能获得任何受害者的会话,我可以发送我想要的钱。

我碰巧发现了CSRF技术 我也碰巧发现了OTP技术。

我认为它们是完全相同的算法。 OTP 就像它的名字所说的“一次性密码” 而Anti-CSRF只是OTP架构的样本之一” 不是吗?

算法是“服务器给客户端一个不可预测的令牌,客户端会用这个令牌请求,服务器会验证”

为什么我会这样认为是以下两个原因。

独立对象发出令牌。 从 OTP 的角度来看,硬件或应用程序发出一个唯一(不可预测的)令牌 从 Anti-CSRF 的角度来看,WAS 服务器发出一个唯一的(不可预测的)令牌 无论他们是什么发行者,重要的是来自客户端对象的独立对象发行一个令牌。

独立发行者对象一次发行一次令牌。 在 OTP 中,硬件或应用程序会在用户请求敏感信息之前立即发出令牌。 在 Anti-CSRF 中,WAS Server 也会在用户登录后立即发出一个令牌。 (我们可以让 WAS Server 每次都发出令牌。那是在 WAS Server Configuration 上。如果我将服务器配置为这样工作,你能说这个 WAS 不是 Anti-CSRF Sever 吗?)

我想知道的是CSRF Token和OTP Token有什么区别。

【问题讨论】:

    标签: security csrf one-time-password


    【解决方案1】:

    OTP(一次性密码)和 CSRF(跨站请求伪造)是不同的东西。

    OTP 是一种身份验证机制。某种应用程序或硬件令牌正在生成可用于在应用程序中进行身份验证的字符串。著名的例子是 RSA 令牌,它实现了基于时间的一次性密码协议。

    CSRF 是 Web 应用程序的一个弱点,无法验证用户是否有意发送请求。当我们谈到 CSRF 保护时,我们通常指的是使用反 CSRF 令牌进行保护。这些令牌由服务器生成,并由客户端在每个更改系统状态的请求中传递。所有没有这个令牌的请求都会被服务器拒绝。

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2017-11-23
      • 1970-01-01
      • 2014-01-06
      • 2019-01-02
      相关资源
      最近更新 更多