0%

reCaptcha | 简介与破解

这一篇将详细介绍 reCaptcha 的历史以及破解方式。


reCaptcha 的来历


一开始的时候,该项目是为了修复古籍,后来被谷歌收购,现在严重怀疑,谷歌用这个来让人免费标定数据集。

其实,这里主要是了解 reCaptcha 类型的不同。

对于,第一代的 reCaptcha v1 谷歌已经放弃,因为这一代主要是用扭曲的各种文字来验证,后来市面上已经有了成熟的破解体系,所以,谷歌放弃了。

v2 版本,主要就是大家经常见的,包括图片九宫格和语音。

另外,该版本还有隐式和显式两个版本。

  • 隐式
    • 人机验证没有暴漏在外面,只有提交的时候,才会出现相应的人机验证
  • 显示
    • 人机验证暴漏在了外面,只有验证完成才能进行下一步的操作,诸如提交之类的

v3 版本在 v2 版本的基础上加了一个行为侦测。

就是判断你的行为是不是机器人,然后其会打一个分数,根据分数标准,来判断你是否需要人机验证,以及,你人机验证的难度如何。


解决国内不能访问


为什么 reCaptcha 在国内无法正常显示?

自2014年5月27日后,Google 公司的各项服务遭到疑似来自中国官方的防火长城的恶意干扰,导致中国大陆地区的用户无法正常使用其服务的事件。自当天起,来自中国大陆的用户发现 Google 旗下的各个分站以及 Google 的其他服务(Google 搜索Google PlayGmail 等)均无法正常访问与使用,所有 google.cn 以外的 Google 服务均受影响无法使用,用户甚至无法登陆 Google 账户。然而,不同于 2009 年至 2013 年仅针对敏感时期的行为规律,六四 25 周年纪念日结束后攻击者对 Google 的干扰仍未停止。——维基百科

这个方案的原理是什么?

有很多人都不知道,reCaptcha 在国内有个镜像:recaptcha.net。这个地址还是可以正常访问的,不受封锁的影响。

国内的站长如果想用 reCaptcha 肯定都会使用这个镜像地址。但是,国外可和国内不一样,大部分国家都没封锁 Google,所以大部分网站的 reCaptcha 的调用清一色都是直接调用 Google 域名的。然而 Google 的域名早就在国内封的干干净净了。这就是导致国外网站中的 reCaptcha 验证码大部分在国内都加载不出来的原因了。

gooreplacer 的目的,就是在浏览器加载 reCaptcha 之前把加载地址换成国内的可用镜像地址(recaptcha.net),这样就正常了。

但是这个方法有一个弱点,就是,你安装插件必须要先翻墙。这里推荐一个免费的翻墙软件。

另外,你也可以参考我的机场搭建。

OK,在这里假设你已经安装上这个插件了。只需要配置规则就好了。

点击 Add,添加下面的重定向:

www.google.com/recaptcha
recaptcha.net/recaptcha

配置完成后,图片如下

这个解决方案对哪些网站无效?

对那些使用了 Content-Security-Policy 属性的网站无效。Content-Security-Policy 属性会验证资源的地址,导致更换的镜像地址被阻止。如果你查看了 F12,会发现很多类似下面的错误信息:

Refused to load the script ‘xxx’ because it violates the following Content Security Policy directive

上面博文的作者也提供了这个的解决思路,不过,我没有试过。


破解方法


语音方向

buster

ps: 就目前我来看到的是 bustergooreplacer 插件不能共存,也就是 buster 识别不了 gooreplacer 提供的验证码,或许 buster 是通过识别 url 来确定谷歌人机验证的服务。

这个是通过破解谷歌语音的,对于 reCaptcha V2 有两种验证方式一个是九宫格图片,一个是语音,而,buster 通过对接各大语音厂商,来人工智能破解谷歌语音验证码。

虽然,这个方法足够的高效,破解高达 85% ,但是,reCaptcha 会判别异常流量导致你这个插件不能通过语音来破解。

目前,我暂时没有找到破解异常流量的方法,但是,异常流量的产生是因为这个 IP 短时间高频次的访问谷歌,导致谷歌封了这个 IP ,通常你挂了 VPN 会出现这个原因。

所以,市面上流行的方法是,组建一个 IP 池,来进行访问。

关于其他的语音破解相关的插件或者文章请看下面。

另外,我注意到,或许,语音也可以通过代码的方式进行解决,但是,现在我暂时没办法研究,具体的请参考

九宫格图片方向

ps: 2021-7-25 我现在找到了另外一个破解九宫格图片的方法,费用更低一些,但是,我还没用,现将参考资料送上,感兴趣的自己研究。

费用是 10 RMB 1000 次。

市面上已经有成熟的破解九宫格图片的方法了。其中最为出名的是

相关的参考资料

2captcha 介绍

2captcha 是由一个俄罗斯网站,其主要的作用就是破解各种验证码,其中主要业务是破解谷歌的人机验证,其原理也很简单,在积累了大量的样本后,经过深度学习已经真人的甄别,该网站已经可以 100% 的识别谷歌的人机验证,也就是,每一个谷歌的人机验证背后都有可能是一个真人在为你点击。

有的小伙伴就有疑问了,那其他人点击是不是要控制我的电脑?

非也,谷歌的人机验证举一个简单的例子

https://recaptcha.net/recaptcha/api2/anchor?ar=1&k=6LdaB7UUAAAAAD2w3lLYRQJqsoup5BsYXI2ZIpFF&co=aHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbzo0NDM.&hl=zh-CN&type=image&v=dpzVjBAupwRfx3UzvXRnnAKb&theme=light&size=normal&badge=bottomright&cb=klvq8psrifzm

其中里面的属性 k=6LdaB7UUAAAAAD2w3lLYRQJqsoup5BsYXI2ZIpFF 就是这次验证的加密方式,我们把这个参数传递给该网站,然后,网站的人根据解析谷歌规则,给我们返回解析完成的值,这个时候,我们就能够完成本次谷歌验证了。

具体的情况你可以通过该网站的 API 了解。

该网站的使用很简单,通常就是注册,打钱,使用 key。

对于 reCaptcha v2 的图片九宫格收费是 2.99 美元 1000 次,价格也是非常良心了。

使用该网站通常有两个方式,一个是通过 API 另一个是通过插件。

API 使用

这个要参考

这个,需要一定的编程功底,在我撸的一个项目中,最后虽然有返回值,但是,我们无法提交人机验证申请,所以,最后转向了插件方法。

另外,如果你要使用 api 必须先判断谷歌验证属于 v2 还是其他,然后写不同的策略,方法上麻烦一点。

插件

插件也有两个。

ReCaptcha Solver

这个是第三方弄的插件,使用也非常简单,但是有几个坏处。

  • 不能和 Gooreplacer 共同使用
  • 处理谷歌验证码的时候会出现白板现象
  • 网络路线并不稳定
  • 价格收费不透明
2Captcha Solver

这个是官方出品,使用也非常简单,并且,没有 ReCaptcha Solver 的异常,所以,优先推荐使用这个。

我目前的羊毛脚本实用的配置是

土狗云 + Gooreplacer + 2Captcha Solver + python && selenium + chrome

已经是非常成熟的方案了!

自建接码平台

其实,明白原理之后,我们也可以做类似 2Captcha 的接码平台。

2Captcha 主要是从低收入国家招聘过来的,但是,我看到了一个牛逼的思路。

比如,我们可以创建大家喜闻乐见的网站,然后,把我们的码对接到这个网站上,我们让浏览网站的用户,接码我们的图片,哈哈!

请我喝杯咖啡吧~