为什么此问题可能导致CSRF问题?

时间:2018-10-25 07:31:43

标签: security

我是一位对安全性有一定了解的Web开发人员,并且我正在与专业的安全专家讨论一个案件是否容易受到CSRF攻击。让我解释一下:

我有一个典型的更改密码表格,我在其中询问旧密码,然后询问两次新密码。他说它可以受到攻击,而我说不能。为什么?。万一攻击者可以欺骗用户使用新密码提交表单(传统的CSRF攻击),他仍然需要知道旧密码,因此攻击永远不会发生。

我认为他只是紧随该页上的那本书,上面写着“所有密码表单必须具有CSRF保护”。与他们吵了两周后,我将放一个CSRF令牌(毕竟我已经付了钱),但我仍然认为没有必要(肯定要比应用程序上的任何其他输入形式少)。

您怎么看?我想知道我是否错以及为什么

2 个答案:

答案 0 :(得分:1)

感谢总体上关心安全性。我相信在这里您可以找到一些可能出错的示例:https://github.com/intelliants/subrion/issues/638

通常,对于用户身份验证的关键步骤,您应该应用零信任原则,并为客户提供尽可能多的保护。

当然,一切都取决于您设计应用程序的方式。

答案 1 :(得分:1)

您的推理假设您的用户具有良好的密码习惯。实际上,大多数用户没有。他们将在多个位置(包括您的网站)使用相同的密码。

这意味着CSRF攻击者可以从不相关的数据泄露中获悉其密码,或者可以通过让服务获取密码来获悉(即,出于恶意目的,以明文形式记录密码的免费图像共享服务)。

话虽如此,您最好问一下,而不是假设您是正确的。安全性很重要,推理和询问都是帮助您学习和开发安全应用程序的好方法。