gpt4 book ai didi

php - 登录表单是否需要针对 CSRF 攻击的 token ?

转载 作者:IT老高 更新时间:2023-10-28 11:44:26 25 4
gpt4 key购买 nike

据我目前了解到的情况, token 的目的是防止攻击者伪造表单提交。

例如,如果一个网站有一个表单可以将添加的商品输入到您的购物车中,而攻击者可能会向您的购物车发送您不想要的商品的垃圾邮件。

这是有道理的,因为购物车表单可能有多个有效输入,攻击者所要做的就是知道网站正在销售的商品。

我了解 token 的工作原理并在这种情况下增加安全性,因为它们确保用户已为添加到购物车的每个项目实际填写并按下表单的“提交”按钮。

但是, token 是否会为需要用户名和密码的用户登录表单增加任何安全性?

由于用户名和密码非常独特,攻击者必须知道两者才能使登录伪造起作用(即使您没有设置 token ),如果攻击者已经知道,他可以签名自己上网站。更何况,让用户自己登录的 CSRF 攻击无论如何也没有任何实际目的。

我对 CSRF 攻击和 token 的理解是否正确?我怀疑它们对用户登录表单没有用吗?

最佳答案

是的。一般来说,您需要像其他任何方法一样保护您的登录表单免受 CSRF 攻击。

否则,您的网站很容易受到某种“受信任的域网络钓鱼”攻击。简而言之,CSRF 漏洞登录页面使攻击者能够与受害者共享用户帐户。

漏洞的表现如下:

  1. 攻击者在受信任域上创建主机帐户
  2. 攻击者使用此主机帐户的凭据在受害者的浏览器中伪造登录请求
  3. 攻击者诱骗受害者使用受信任的网站,他们可能不会注意到他们是通过主机帐户登录的
  4. 攻击者现在可以访问受害者在使用主机帐户登录浏览器时“创建”(有意或无意)的任何数据或元数据

作为一个相关的例子,考虑 YouTube . YouTube 允许用户查看“他们自己的”观看历史记录,并且他们的登录表单存在 CSRF 漏洞!因此,攻击者可以使用 他们 知道的密码设置一个帐户,使用 帐户将受害者登录到 YouTube — 跟踪受害者正在观看的视频。

this comment thread 中有一些讨论这意味着它可以“仅”用于此类侵犯隐私的行为。也许,但引用 Wikipedia's CSRF article 中的部分:

Login CSRF makes various novel attacks possible; for instance, an attacker can later log in to the site with his legitimate credentials and view private information like activity history that has been saved in the account.

强调“新型攻击”。想象一下网络钓鱼攻击对您的用户的影响,然后想象上述网络钓鱼攻击通过用户自己的可信书签对您的站点起作用!上述评论线程中链接的论文提供了几个超出简单隐私攻击的示例。

关于php - 登录表单是否需要针对 CSRF 攻击的 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com