链接是否容易受到csrf的攻击?

时间:2013-06-03 21:10:52

标签: security csrf

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

CSRF背后的全部理念是强制用户(通过任何可用的方式)以编程方式(并且最好在未经他们同意的情况下)执行更改。这样做的方法是找到您尝试攻击的网站的一部分,其中包含重要请求:

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

CSRF本身很少见(大多数网站都会使用POST来处理很多事情。很少需要使用图片标记)。更可能的组合是CSRF + XSS,尽管可以找到变体。

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