用Google破解Google的ReCaptchav2 验证码

简介:

早在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的另一个服务了。

本文转自d1net(转载)

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
目录
相关文章
|
测试技术 数据安全/隐私保护
Google POI下载工具破解之路
我是GIS初学者,爱好二次开发,像初恋一样。最近对编译感兴趣,每当成功获取一点信息,就有一种快感,感觉马上就要成功了……其实,还早! 01.初次反编译 今天在微创业工作室找到了Google POI下载工具,反编译后错误很多,还有很多问题需要解决,可能反编译源码困难挺大的,还是知难而退,慢慢积累经验,现在解决不了的,以后也可能会解决。
1153 0
|
7月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2612 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
7月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
95 0
|
7月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
159 0
|
7月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
283 0