检测到跨站点请求伪造(CSRF)时应返回的响应

时间:2014-05-05 17:37:36

标签: coldfusion csrf owasp

当检测到跨站点请求伪造(CSRF)时,我应该回复什么响应?

有一个扫描工具,我无法理解这是说我的某个页面没有受到CSRF的保护。但它是。我发回的响应是正常202,句子“请求不能处理”。就是这样,没有任何信息被发送回攻击者,我记录了尝试。但是这个软件说它仍然容易受到CSRF的影响。我可以很容易地自己运行测试并弄清楚但是在扫描和测试之间需要很长时间才能得到相同的软件,这就是我要求stackoverflow的原因,所以我希望能在下一次计划的扫描中将其删除。我正在考虑发送一个404410而不是202的statusCode。的 http://www.cfgears.com/index.cfm/2009/8/11/cfheader-404-status-codes-and-why-you-shouldnt-use-them

如果检测到CSRF,您建议发送什么内容?

2 个答案:

答案 0 :(得分:10)

403 Forbidden由于用户在技术上被授权访问该站点,因此它只是禁止的特定操作(HTTP POST没有正确的CSRF令牌)。

  

Web服务器可以返回403 Forbidden HTTP状态代码,以响应客户端对网页或资源的请求,以指示可以访问服务器并理解该请求,但拒绝采取任何进一步的操作。状态代码403响应是Web服务器被配置为由于某种原因拒绝客户端访问所请求资源的结果。

请记住,攻击者无法读取此响应,并且在大多数情况下,用户将看不到消息或HTTP响应,因为CSRF攻击并非旨在让受害者明白它正在发生。如果你有一个有效的CSRF机制,你的网站不太可能以这种方式受到攻击 - 防御也是威慑。

答案 1 :(得分:2)

怎么样:

401未经授权 要么 403禁止