Google Re-Captcha 2可以阻止CSRF攻击吗?

时间:2015-09-16 03:54:06

标签: security csrf csrf-protection recaptcha

跨站点请求伪造攻击会在受害者的会话中进行,以便向受信任的站点提交恶意请求。 Cheat Sheet here将CAPTCHA描述为防止CSRF攻击的好方法。

众所周知,Google Re-Captcha可有效防止僵尸网络垃圾邮件。在具有相同IP地址的位置点击几次后,需要人来解决图片拼图。由于前几次尝试都是免费的,黑客是否可以通过在最初的几次尝试中点击Re-Captcha数字来绕过它?

enter image description here

2 个答案:

答案 0 :(得分:4)

正如OWASP的备忘单所述,CAPTCHA可以作为击败CSRF的一种方式。

然而,你让我思考。也许如果攻击者对Google Recaptcha2小部件进行了Clickjacking攻击,并对使用Recaptcha2进行CSRF防御的页面上的CSRF攻击进行了跟进,那么这可能对攻击者有利。< / p>

更新

考虑到这一点,Recaptcha2的工作方式是返回由私钥签名的值,该私钥可以在服务器端进行检查。这需要点击当前表单上显示的CAPTCHA,即使没有任何问题需要解决。因此,Recapcha2应该抵御CSRF。但是,请确保您的托管页面也受到Clickjacking的保护。

答案 1 :(得分:1)

Captcha代表暴力攻击,但是,它也可以阻止CSRF攻击。由于攻击无法知道什么是正确的验证码值,因此无法使用有效的验证码值填充表单。

由于可用性非常重要,因此您无法要求用户在每个请求中解决验证码。因此,缺省情况下,框架使用csrf_token机制。