概述


从2016年开始,我就在琢磨寻找一种新的绕过谷歌验证码v2的方法会有多难,如果这种方法能够适用于任何环境而不仅仅是针对特定的案例,那这种方法将是非常理想的。接下来我将向你介绍ReBreakCaptcha——一种全新的谷歌验证码v2的绕过技术。

ReBreakCaptcha分为三个阶段:

1、音频挑战-获得正确的挑战类型

2、识别-转换音频挑战音频并将其发送到谷歌的语音识别API

3、验证-验证语音识别结果并绕过验证码

注:截至发布时(2017.02.28),该漏洞仍确认有效。

ReBreakCaptcha阶段1:音频挑战


一共有三种类型的验证码v2挑战:

图像挑战-挑战包含描述和9个子图像组成的图像。请求用户需选择与给定描述最为匹配的子图像。

音频挑战-挑战包含音频录音,请求用户需输入听到的数字。

文本挑战-挑战包含一个类别和5个候选短语,请求用户需选择与给定类别最匹配的短语。

ReBreakCaptcha知道如何解决验证码v2的音频挑战,因此,我们需要一种每次都获得音频挑战的方法。

当点击验证码v2的“我不是机器人”复选框时,我们经常会看到以下挑战类型:

要获得音频挑战,我们需要单击以下按钮:

然后我们就能看到一个可以轻松绕过的音频挑战:

也许你会注意到,有时候你会得到一个文本挑战,而不是音频挑战:

要绕过它并获得音频挑战,只需要点击“重新加载挑战”按钮,直到获得正确的类型即可。重新加载挑战按钮:

我们的目标是什么?绕过验证码。我们能做到吗?是的,用谷歌语音识别API!

ReBreakCaptcha阶段2:识别


接下来是一个有趣的部分,利用谷歌的一个服务来对付另一个谷歌的服务!让我们回到音频挑战(第三张图),如你所见,此挑战页面上的控件是:

1、播放按钮-听到挑战内容

2、文本框-给用户输入结果的。

3、下载按钮-下载音频挑战文件

让我们下载音频文件,并将其发送到Google语音识别API。在执行此操作之前,我们会将其转换为Google语音识别API要求的“wav”格式。现在我们有音频挑战文件,并准备好发送到Google语音识别。如何才能做到这一点?使用他们的 API。

有一个伟大的Python库,名为  SpeechRecognition,用于执行语音识别,支持多个引擎和API,在线和离线。我们将使用这个库实现Google语音识别API调用。我们发送'wav'音频文件,然后语音识别将以字符串(例如'25143')形式将结果发回给我们。这个结果就是我们音频挑战的结果。

ReBreakCaptcha阶段3:验证


这个阶段相当短。我们现在需要做的只是将输出字符串从阶段2复制粘贴到文本框中,然后单击“验证”在ReCaptcha小部件。没错,我们现在半自动地使用Google的服务绕过自己的其他服务。

ReBreakCaptcha完整PoC


这里提供了一个完整的由Python编写的PoC脚本,github链接:https://github.com/eastee/rebreakcaptcha

2017.03.02更新


我注意到了不少人遇上了一个难度值较高的音频挑战版本。因此,我提交了一个解决方案到github repo,该方案应该能克服这种情况,虽然成功率比原来要低。目前仍不清楚为什么会触发这个较难的版本,但最被怀疑的原因是你的IP地址被谷歌认为是可疑的,通常情况下,不要使用公共代理/VPN,因为谷歌会将这些IP标记为可疑(这时将会出现较难的验证码版本)。


本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。http://bobao.360.cn/learning/detail/3584.html
原文链接:https://east-ee.com/2017/02/28/rebreakcaptcha-breaking-googles-recaptcha-v2-using-google/

【技术分享】ReBreakCaptcha:利用谷歌来破解谷歌的验证码的更多相关文章

  1. 破解UltraEdit64 Version 28.20.0.92 技术分享。

    本文为原创作品,转载请注明出处,作者:Chris.xisaer E-mail:69920579@qq.com QQ群3244694 补丁程序下载地址:https://download.csdn.net ...

  2. 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)

    1.点评 对于IM系统来说,如何做到IM聊天消息离线差异拉取(差异拉取是为了节省流量).消息多端同步.消息顺序保证等,是典型的IM技术难点. 就像即时通讯网整理的以下IM开发干货系列一样: <I ...

  3. 融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题<IM 即时通讯之链路保活>,即时通讯网收录时有部分改动. 1.引言 众所周知,IM 即时通讯是一项对即时性要 ...

  4. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

  5. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

  6. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  7. 2018-2019-2 网络对抗技术 20165322 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165322 Exp1 PC平台逆向破解 目录 知识点总结 实验准备 任务一:直接修改程序机器指令,改变程序执行流程 任务二 通过构造输入参数,造成BOF攻击 ...

  8. 腾讯技术分享:Android版手机QQ的缓存监控与优化实践

    本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此 ...

  9. 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

    本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...

随机推荐

  1. 元素定位:selenium消息框处理 (alert、confirm、prompt)

    基础普及 alert对话框 .细分三种,Alert,prompt,confirm 1. alert() 弹出个提示框 (确定) 警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串.该 ...

  2. PHP 中数组获取不到元素

    早上看到 SO 上一个有关 PHP 的问题,提问者描述有一个数组,使用 print_r 可以看到索引 key 和相对应的 value 都是存在的,但是访问该元素,不管是使用 array[key] 还是 ...

  3. 深入理解JVM一java堆分析

    上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等.这些工具都非 ...

  4. NHibernate常见错误

    Oracle 下必须用 Sequence [PrimaryKey(PrimaryKeyType.Sequence,"ID")] 1.提示 ORA-02289: 序列不存在 -- C ...

  5. Opencv2.4.9+win7+VS2012一次性配置的方法--通过建立属性表永久配置

    Opencv的配置对于初学者很麻烦,网上的教程也非常多,针对不同的操作系统.opencv版本.Visual studio版本都有相应的教程,但即便是按照教程一步一步来,仍然难免出错,很多教程还是一次性 ...

  6. HDU.2612 Find a way (BFS)

    HDU.2612 Find a way (BFS) 题意分析 圣诞节要到了,坤神和瑞瑞这对基佬想一起去召唤师大峡谷开开车.百度地图一下,发现周围的召唤师大峡谷还不少,这对基佬纠结着,该去哪一个...坤 ...

  7. 树莓派安装python3.5

    https://gist.github.com/BMeu/af107b1f3d7cf1a2507c9c6429367a3b Installing Python 3.5 on Raspbian As o ...

  8. hihoCoder #1582 : Territorial Dispute 凸包

    #1582 : Territorial Dispute 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In 2333, the C++ Empire and the Ja ...

  9. codeforces 55D 数位dp

    D. Beautiful numbers time limit per test 4 seconds memory limit per test 256 megabytes input standar ...

  10. 使用uiautomator时遇到问题的处理方法

    本帖持续更新中… 一.使用adb devices无法连接到模拟器 这种情况可能是因为服务挂了之类的原因,重启一下服务 adb kill-server //关闭adb服务 adb start-serve ...