据我目前所知,令牌的目的是防止攻击者伪造表单提交。
例如,如果网站有一个表单将添加的商品输入到您的购物车,那么攻击者可能会向您的购物车发送您不想要的商品。
这是有道理的,因为购物车表单可能有多个有效输入,攻击者所要做的就是知道网站正在销售的商品。
我了解令牌在这种情况下如何工作并增加安全性,因为它们确保用户实际上已填写并按下了表单中添加到购物车的每个商品的“提交”按钮。
但是,令牌是否可以为需要用户名和密码的用户登录表单添加任何安全性?
由于用户名和密码非常独特,攻击者必须知道这两个信息才能进行登录伪造(即使您没有设置令牌),如果攻击者已经知道这一点,他就可以登录网站他自己。更不用说,让用户自己登录的 CSRF 攻击无论如何也没有任何实际目的。
我对 CSRF 攻击和令牌的理解是否正确?正如我怀疑的那样,它们对于用户登录表单毫无用处吗?
是的。一般来说,您需要像其他任何攻击一样保护您的登录表单免受 CSRF 攻击。
否则,您的网站很容易受到某种“可信域网络钓鱼”攻击。简而言之,存在 CSRF 漏洞的登录页面使攻击者能够与受害者共享用户帐户。
该漏洞的表现如下:
- 攻击者在受信任的域上创建主机帐户
- 攻击者使用该主机帐户的凭据在受害者的浏览器中伪造登录请求
- 攻击者诱骗受害者使用受信任的站点,他们可能没有注意到自己是通过主机帐户登录的
- 攻击者现在可以访问受害者在浏览器使用主机帐户登录时“创建”(有意或无意)的任何数据或元数据
作为一个相关的例子,考虑YouTube。 YouTube 允许用户查看“自己的”观看历史记录,并且他们的登录表单存在 CSRF 漏洞!因此,攻击者可以使用密码设置帐户they知道,使用以下方式将受害者登录 YouTubethat帐户 - 跟踪受害者正在观看的视频。
有一些讨论这个评论线程这意味着它“只能”用于此类侵犯隐私的行为。也许吧,但要引用中的部分维基百科的 CSRF 文章:
登录CSRF使得各种新颖的攻击成为可能;例如,一个
攻击者稍后可以使用其合法凭据登录该网站
并查看已保存的活动历史记录等私人信息
在帐户中。
强调“新颖的攻击”。想象一下网络钓鱼攻击对您的用户的影响,然后想象一下所述网络钓鱼攻击通过用户自己的可信书签对您的网站进行攻击!上述评论线程中链接的论文给出了几个超出简单隐私攻击范围的示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)