我不断看到在标准用户名/密码登录页面上放置防伪令牌的代码示例。甚至 Asp.Net Web 项目模板也能做到这一点。
为什么?唯一改变的系统状态是用户的登录状态,为了实现这一点,攻击者需要他们的用户名和密码,这意味着一切都已经受到最大程度的损害。
我只是在这里没有看到攻击向量。我错过了什么吗?
扩展 IRCMaxell 的答案。 CSRF 根据定义意味着使用用户的会话和/或针对他们的权限。未经身份验证的用户不是 CSRF 的目标。
这是关于该主题的一篇有用的 OWASP 文章:https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29 https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29
在登录表单中放置防伪令牌几乎完全是为了保持一致性。
EDIT:
我最后的陈述是不正确的。这里的另一个答案正确地指出“帐户固定”攻击是可能的。这意味着某人可以使用不属于自己的凭据登录到站点。这可能会导致个人或财务信息的潜在泄露。
话虽这么说,为所有 Web 表单添加 CSRF 验证的一般做法是一种有用且通常是必要的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)