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

标签 security csrf csrf-protection recaptcha

跨站点请求伪造攻击利用受害者的 session 向受信任站点提交恶意请求。 Cheat Sheet here将 CAPTCHA 描述为防止 CSRF 攻击的好方法。

众所周知,Google Re-Captcha 可有效防止机器人垃圾邮件。在具有相同 IP 地址的位置被多次点击后,它需要一个人来解决图片难题。由于前几次尝试只是“免费”,黑客是否有可能通过在前几次尝试中点击 Re-Captcha 数字来绕过它?

enter image description here

最佳答案

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

然而,你让我思考。也许如果攻击者结合了 Clickjacking攻击 Google Recaptcha2 小部件,并在受 Recaptcha2 保护的页面上进行 CSRF 攻击以进行 CSRF 防御,然后这可能对攻击者有利。

更新:

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

关于security - Google Re-Captcha 2 可以防止 CSRF 攻击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599487/

相关文章:

javascript - 我是否应该允许包含脚本标签(来自 WordPress 数据库)的内容动态插入到我的应用程序中的 html 中?

c++ - 使用带有 OpenSSL API 的私钥生成签名

spring - 错误 405 请求方法 'POST' 不支持 Spring Security

c++ - 在 PAM 模块之间传递密码

security - Logstash:logstash输入中的多个插件

ruby-on-rails - 表单上的 Rails 真实性 token 与 csrf token

php - 为什么 codeigniter2 不以更安全的方式(例如 session )存储 csrf_hash?

javascript - 尝试在不同域上使用 CORS 和 XSRF

ajax - 如何在静态站点上防止 CSRF?

laravel - 在laravel 5中上传超过2M的文件