安全路透社
当前位置:安全路透社 > 网络转载 > 正文

用Google破解Google的ReCaptchav2 验证码

这是一个名叫ReBreakCaptcha的逻辑漏洞,而这个漏洞将允许你轻松地绕过网站所采用的GoogleReCaptcha v2验证码。

1.png

技术概览

早在2016年,我就开始研究如何才能绕过Google的ReCaptcha v2验证码系统,而且我也想知道对于一名攻击者来说,绕过这种验证码系统的难度到底有多少。如果有哪一种验证码绕过技术可以在任何环境下都能很好地工作,而不只是针对某些特殊情况的话,那就非常完美了。

因此,我认为有必要跟大家介绍这种名叫ReBreakCaptcha的攻击方法,我们可以用这种新型的绕过技术来绕过Google的ReCaptcha v2验证码系统。

ReBreakCaptcha的实现主要由以下三个步骤组成:

1.语音Challenge(验证码获取)-得到正确的challenge类型;

2.Recognition(识别)-转换Audiochallenge的音频信息,然后将其发送给Google的语音识别API(Speech Recognition API);

3.Verification(验证)-验证语音识别的结果,然后绕过ReCaptcha;

ReBreakCaptcha第一步:语音Challenge

ReCaptcha v2的challenge主要有以下三种类型:

-图片Challenge:这种Challenge信息中包含一张由9个子图片组成的图片以及需要选择的图片描述,系统会要求用户根据提供的描述信息选择相应的子图片;

-语音Challenge:这种Challenge信息中包含一段语音信息,系统会要求用户输入他们所听到的数字;

-文本Challenge:这种Challenge信息中包含五个候选文本以及用户所需要选择的对象种类,系统会要求用户选择相应种类的单词。

我们可以利用ReBreakCaptcha来对付ReCaptchav2的语音Challenge,所以我们需要解决的问题就是如何能够每次都能获取到语音Challenge。

当我们点击了ReCaptchav2中的“I’m not a robot”(我不是机器人)选项之后,系统通常会给我们现实以下Challenge类型:

2.png

上图所示的即为图片Challenge,如果想要发起语音Challenge的话,我们需要点击如下图所示的按钮:

3.png

接下来,系统会要求我们完成语音验证,而这种类型的Challenge是很容易绕过的:

4.png

可能有些同学已经发现了,除了语音Challenge之外,有时你可能还会遇到如下图所示的文本Challenge:

5.png

为了绕过验证系统并获取到相应的验证语音,你可以直接点击“Reload Challenge”(重载Challenge)按钮,直到你得到正确的Challenge类型为止。下图所示即为“Reload Challenge”按钮:

6.png

那么我们现在要做什么呢?当然是绕过ReCaptcha啦!那么具体应该怎么做呢?没错,此时就是Google语音识别API登场的时候了。

ReBreakCaptcha第二步:识别

这是最有意思的步骤了,我们将要利用Google提供的服务来黑掉它自己的另一个服务!

让我们回到语音Challenge的话题上,先看下面这张图片:

7.png

上图即为验证系统的语音Challenge界面,这个界面主要由以下几种控制组件组成:

1.    一个播放按钮:用来播放验证码;

2.    一个文本框:用来给用户输入听到的验证码;

3.    一个下载按钮:下载验证语音;

现在,我们需要下载语音验证文件,然后再把它发给Google的语音识别API。在动手之前,我们还需要将该文件转换成“wav”格式,因为Google的语音识别API只能识别这种类型。现在我们手上已经拿到了语音验证文件了,然后准备把它发给Google的语音识别服务。可是这该如何实现呢?是的,我们还需要使用一些其他的API。

这里给大家推荐一个非常好用的Python库(SpeechRecognition),它支持多种在线/离线引擎和API,我们可以用它来完成语音识别的任务。当然了,我们将使用这个库来对接Google的语音识别API。当我们发送了“wav”音频文件之后,SpeechRecognition将会把语音识别的结果以字符串的形式返回给我们(例如‘25143’)。

ReBreakCaptcha第三步:验证

这一步相对来说就比较简单了,我们现在只需要将第二步的识别结果复制粘贴到文本输入框之内,然后点击ReCaptcha的“Verify”(验证)按钮就可以了。没错,我们现在可以用Google自己的服务来半自动化地绕过Google的另一个服务了。

完整的ReBreakCaptchaPoC

我需要用Python来写一个完整的PoC脚本,这个脚本会自动完成上述所有的操作步骤,然后完全自动化地绕过ReCaptchav2。相应代码我已经托管在GitHub上了,感兴趣的同学可以自行下载查看【传送门】。

*参考来源:east-ee, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

未经允许不得转载:安全路透社 » 用Google破解Google的ReCaptchav2 验证码

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册