Security 登录页面上是否需要防伪令牌?

Security 登录页面上是否需要防伪令牌?,security,web,login,csrf,antiforgerytoken,Security,Web,Login,Csrf,Antiforgerytoken,我一直看到在标准用户名/密码登录页面上放置防伪令牌的代码示例。甚至Asp.NETWeb项目模板也能做到这一点 为什么??唯一被更改的系统状态是用户的登录状态,为了实现这一点,攻击者需要他们的用户名和密码,这意味着一切都已受到最大程度的破坏 我只是看不到这里的攻击向量。我遗漏了什么吗?扩展到IRCMaxell的答案。CSRF的定义是对用户使用会话和/或权限。未经身份验证的用户不是CSRF的目标 以下是一篇关于此主题的有用的OWASP文章: 在登录表单中放置防伪令牌几乎完全是为了一致性 编辑: 我最

我一直看到在标准用户名/密码登录页面上放置防伪令牌的代码示例。甚至Asp.NETWeb项目模板也能做到这一点

为什么??唯一被更改的系统状态是用户的登录状态,为了实现这一点,攻击者需要他们的用户名和密码,这意味着一切都已受到最大程度的破坏


我只是看不到这里的攻击向量。我遗漏了什么吗?

扩展到IRCMaxell的答案。CSRF的定义是对用户使用会话和/或权限。未经身份验证的用户不是CSRF的目标

以下是一篇关于此主题的有用的OWASP文章:

在登录表单中放置防伪令牌几乎完全是为了一致性

编辑:

我最后的陈述是不正确的。这里的另一个答案正确地指出,“账户固定”攻击是可能的。这意味着可以使用非其自己的凭据登录某人的站点。这可能导致个人或财务信息的潜在披露

也就是说,将CSRF验证包括在所有webforms中的一般实践是一种有用且经常是必要的实践

唯一被更改的系统状态是用户的登录状态,为了实现这一点,攻击者需要他们的用户名和密码,这意味着一切都已受到最大程度的破坏

问题是,攻击者可以为攻击者有权访问的其他帐户使用用户名和密码,而不是自己尝试

在没有CSRF令牌的情况下,攻击者可以强制用户登录非其自己的帐户:帐户固定攻击。根据攻击的启动方式和应用程序显示当前帐户的突出程度,受害者可能不会注意到,并会假设他们仍然登录到自己的帐户。这可能会导致他们做一些不适当的事情,例如将敏感信息输入到攻击者稍后可以登录帐户查看的区域

账户固定攻击可能导致的具体后果是高度特定于应用程序的,对于许多应用程序来说,可能不存在实际的攻击。但是对于一个通用的登录表单,您不能确定这一点,所以是的,您应该使用CSRF令牌