Google reCAPTCHA v2如何在幕后工作?

 一颗顽石 发布于 2022-12-07 19:03

这篇文章是指Google ReCaptcha v2(不是最新版本)

最近谷歌推出了一个简化的"验证码"验证系统(视频),使用户只需点击它即可通过"验证码".

但是,如何通过点击将机器人与人区分开来?

根据这个答案,(假设一个类似的实现),首先"recaptcha"生成一个隐藏的密钥,并将其附加到一个隐藏的输入元素,并懒惰地呈现一个复选框(不是一个实际的复选框,input但a div)具有相同的密钥,单击时,向Google后端服务器发送异步请求(XHR),将其标记为有效的验证密钥(即在提交表单时必须验证的密钥).

但是为什么机器人不能自动点击(至少是基于浏览器的机器人)?

这怎么可行?

3 个回答
  • 已发布一篇新文章,其中包含针对reCAPTCHA的多项测试:

    https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf

    一些亮点:

    通过将Cookie保持活动状态+9天(通过使用Google资源浏览网站),您只需点击复选框即可传递reCAPTCHA;

    根据每个IP的请求没有限制;

    浏览器的用户代理必须是真实的,Google会针对您的环境运行测试,以确保它与用户代理匹配;

    谷歌测试浏览器是否可以渲染画布;

    屏幕分辨率和鼠标事件不会影响结果;

    谷歌已经修复了cookie漏洞,可能会限制一些基于IP的行为.

    另一个有趣的发现是,谷歌在JavaScript中运行一个VM,它会混淆reCAPTCHA的大部分代码和行为.此VM称为botguard,用于保护除reCAPTCHA之外的其他服务:

    https://github.com/neuroradiology/InsideReCaptcha

    2017年更新

    最近的一篇论文(从8月开始)发表在WOOT 2017上,在解决noCAPTCHA reCAPTCHA音频挑战方面达到了85%的准确率:

    http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf

    更新2018年

    谷歌正在推出reCAPTCHA v3,它看起来像是一个根据网站校准的"人类得分预测引擎".它可以安装到网站的不同页面(像Google Analytics脚本一样工作),以帮助reCAPTCHA和网站所有者在填写reCAPTCHA之前了解人类与机器人的行为.

    https://www.google.com/recaptcha/intro/v3beta.html

    2022-12-11 02:05 回答
  • 这是猜测,但基于Google对他们使用的"风险分析引擎"的引用(http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html)

    我会假设它会查看您在点击之前的表现,光标如何移动到检查(有机路径/加速度),复选框的哪一部分被点击(随机位置,或每次都死在中心),浏览器指纹,Google Cookie和内容,如果检测到指纹或帐户,请点击与您的指纹或帐户关联的位置记录.

    伪造"有机"行为是相当困难的,因为它会欺骗一个持续学习模式检测引擎.在不确定的情况下,它仍会提示您匹配实际的CAPTCHA字符串.

    2022-12-11 02:06 回答
  • 我的机器人对ReCaptcha运行良好.

    我的解决方案.

    让你的Bot做这个步骤:

    首先编写一个人体鼠标移动功能,将鼠标像B-Spline一样移动(向我索取源代码).这是最重要的一点.

    也可以使用像https://www.purevpn.com这样的VPN更好的结果

    对于每个Recpatcha,请执行以下步骤:

      如果您首先使用VPN交换机IP

      清除所有浏览器Cookie

      清除所有浏览器缓存

      通过随机设置其中一个Useragent:

      一个.Mozilla/5.0(兼容; MSIE 9.0; Windows NT 6.1; Trident/5.0)

      湾 Mozilla/5.0(Windows NT 6.1; WOW64; rv:44.0)Gecko/20100101 Firefox/44.0

    5每次使用不同的10x10 Randomrange时,使用Human Mouse Move Funktion从RandomPoint移动鼠标到我不是机器人图像

      然后点击之间随机延迟

      WM_LBUTTONDOWN

      WM_LBUTTONUP

      从Image Captcha获取截图

      发送屏幕截图

      http://www.deathbycaptcha.com

      要么

      https://2captcha.com

    让他们解决

      从captcha求解器接收到点击cooridinates后,使用您的Human Mouse移动Funktion移动并单击Recaptcha Images

      使用Human Mouse Move Funktion移动并单击Recaptcha Verify按钮

    在75%的所有trys Recaptcha将解决

    Chears谷歌

    汤姆

    2022-12-11 02:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有