当前位置:安全行业动态 → 正文

用Google破解Google的ReCaptchav2 验证码

责任编辑:editor005 作者:Alpha_h4ck |来源:企业网D1Net  2017-03-10 15:07:29 本文摘自:黑客与极客

这是一个名叫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的话,我们需要点击如下图所示的按钮:

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

4.png

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

5.png

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

那么我们现在要做什么呢?当然是绕过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上了,感兴趣的同学可以自行下载查看【传送门】。

关键字:验证码GitHub

本文摘自:黑客与极客

x 用Google破解Google的ReCaptchav2 验证码 扫一扫
分享本文到朋友圈
当前位置:安全行业动态 → 正文

用Google破解Google的ReCaptchav2 验证码

责任编辑:editor005 作者:Alpha_h4ck |来源:企业网D1Net  2017-03-10 15:07:29 本文摘自:黑客与极客

这是一个名叫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的话,我们需要点击如下图所示的按钮:

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

4.png

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

5.png

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

那么我们现在要做什么呢?当然是绕过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上了,感兴趣的同学可以自行下载查看【传送门】。

关键字:验证码GitHub

本文摘自:黑客与极客

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^