新的Google reCAPTCHA如何工作?
最近Google推出了简化的“验证码”验证系统(视频),使用户只需点击即可通过“验证码”。
但是,如何通过点击区分bot和人?
根据这个答案(假设类似的实现),首先“recaptcha”生成一个隐藏的键并将其附加到一个隐藏的输入元素,并且懒惰地呈现一个复选框(不是实际的复选框input
而是一个div
)该按钮在被点击时向Google后端服务器发送一个异步请求(XHR),以将其标记为有效的验证密钥(即,在提交表单时必须验证的密钥)。
但为什么不能自动化点击(至少,基于浏览器的机器人)?
这可能如何工作?
这是猜测,但基于Google引用他们使用的“风险分析引擎”(http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html)
我假设它会查看你点击前的行为方式,光标在检查路径(有机路径/加速度)时的移动方式,点击复选框的哪一部分(随机地点或每次死亡的中心),浏览器指纹,谷歌饼干和内容,点击与您的指纹或帐户绑定的位置记录,如果它检测到一个等。
伪造“有机”行为是相当困难的,因为它会欺骗不断学习的模式检测引擎。 在不确定的情况下,它仍会提示您匹配实际的CAPTCHA字符串。
一篇新论文已经发布,针对reCAPTCHA进行了多项测试:
https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf
一些亮点:
谷歌已经修复了这个漏洞,可能会限制一些基于IP的行为。
另一个有趣的发现是Google在JavaScript中运行了一个虚拟机,它混淆了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
我的机器人对ReCaptcha运行良好。
这里我的解决方案
让你的机器人做这个步骤:
首先编写一个人类鼠标移动功能,像B样条一样移动鼠标(询问我的源代码)。 这是最重要的一点。
也可以使用https://www.purevpn.com等VPN来获得更好的结果
对于每个Recpatcha,请执行以下步骤:
如果您先使用VPN交换机IP
清除所有浏览器Cookie
清除所有浏览器缓存
通过随机设置这些Useragents中的一个:
一个。 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用鼠标移动你的鼠标从RandomPoint移动功能到我不是一个机器人图像每次都有不同的10x10 Randomrange
然后点击之间的随机延迟
WM_LBUTTONDOWN
和
WM_LBUTTONUP
从图片验证码截图
将截图发送到
http://www.deathbycaptcha.com
要么
https://2captcha.com
并让他们解决。
在接收到来自验证码解算器的同步点击之后,使用您的人类鼠标移动功能移动并单击Recaptcha图像
使用您的人类鼠标移动功能移动并点击Recaptcha Verify按钮
在75%的所有trys Recaptcha将解决
Chears Google
汤姆
链接地址: http://www.djcxy.com/p/21633.html上一篇: How does new Google reCAPTCHA work?
下一篇: How does this checkbox recaptcha work and how can I use it?