-1

我正在为我的电子商务网站寻找 CSRF。我已经为表单实现了一种基于令牌的方法。

我在我的网站的购物篮页面上有一个结帐链接,它只是链接到地址页面。一旦进入地址页面,就会进行各种检查以确保用户已登录并在他们的购物篮中有物品。然后它根据存储在会话中的 user_id 提取用户现有地址。

我的问题是,结帐链接中是否存在漏洞?它不会以任何方式更改任何数据。

4

2 回答 2

1

CSRF 不是“易受攻击”或“不易受攻击”类型的漏洞。更多的是“可以利用某些东西吗?”。让我详细说明。

CSRF 背后的整个想法是强迫用户(通过任何可用的方式)以编程方式(最好未经他们的同意)以自己的身份执行更改。执行此操作的方法是找到您尝试攻击的站点的一部分,该部分具有重要的请求,即:

  • 完全使用GET参数完成(此时您可以使用img标签来欺骗用户的浏览器触发它)
  • 请求中没有唯一的 CSRF 令牌,但在这种情况下,您将需要以下任一项:
    • 网站上存在 XSS 漏洞的页面,以便利用 AJAX 执行请求
    • 他们的服务器配置错误,导致他们一揽子发送 CORS 标头。这是罕见的。

CSRF 本身很少见(大多数网站POST用于很多事情。不得不求助于图像标签非常罕见)。更可能的组合是 CSRF+XSS,尽管可以找到变体。

防御 CSRF 的关键不是“我的链接可能被黑了!!!”。此外,请确保您可以重放的请求GET是幂等的(即不会导致状态更改),并且其他任何东西都使用一次性令牌来防止自动重放。

于 2013-06-03T21:22:49.637 回答
1

如果您只能从请求中检索数据,那么它对 CSRF 是安全的。

CSRF 是一种攻击,它诱使用户提出更改某些内容的请求(发表评论(可能是垃圾邮件!)、购买某些内容、为某些内容投票、更改他们的帐户详细信息等)。

于 2013-06-03T21:14:30.943 回答