【技术分享】ReBreakCaptcha:利用谷歌来破解谷歌的验证码
概述
从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:利用谷歌来破解谷歌的验证码的更多相关文章
- 破解UltraEdit64 Version 28.20.0.92 技术分享。
本文为原创作品,转载请注明出处,作者:Chris.xisaer E-mail:69920579@qq.com QQ群3244694 补丁程序下载地址:https://download.csdn.net ...
- 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)
1.点评 对于IM系统来说,如何做到IM聊天消息离线差异拉取(差异拉取是为了节省流量).消息多端同步.消息顺序保证等,是典型的IM技术难点. 就像即时通讯网整理的以下IM开发干货系列一样: <I ...
- 融云技术分享:融云安卓端IM产品的网络链路保活技术实践
本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题<IM 即时通讯之链路保活>,即时通讯网收录时有部分改动. 1.引言 众所周知,IM 即时通讯是一项对即时性要 ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- 2018-2019-2 网络对抗技术 20165322 Exp1 PC平台逆向破解
2018-2019-2 网络对抗技术 20165322 Exp1 PC平台逆向破解 目录 知识点总结 实验准备 任务一:直接修改程序机器指令,改变程序执行流程 任务二 通过构造输入参数,造成BOF攻击 ...
- 腾讯技术分享:Android版手机QQ的缓存监控与优化实践
本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此 ...
- 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处
本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...
随机推荐
- iOS----MRC(手动内存管理)
1.MRC是什么,有什么用? 在苹果开发中,我们是没有垃圾回收机制的.所以在ARC推出之前,我们苹果开发程序员需要通过手动代码的形式尽量严密的管理我们的App的内存: ---------------- ...
- 【JavaScript】checkBox的多选行<tr>信息获取
页面的列表table显示(后台model.addAttribute("page", page);传来page信息,page通过foreach标签迭代展示表格数据): <!-- ...
- TCP的拥塞控制 (一)
拥塞控制不同于流量控制,拥塞控制是在拥塞发生时,发送方根据一定的反馈,主动调节自己的发送速率,以防止拥塞恶化的行为. 1. 网络拥塞 路由器是网络中的关键组件,其内部有一定量的缓冲区,用于缓存来不 ...
- 【刷题】BZOJ 2434 [Noi2011]阿狸的打字机
Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母. 经阿狸研究发现,这个打字机是这样工作的 ...
- QTREE6 - Query on a tree VI 解题报告
QTREE6 - Query on a tree VI 题目描述 给你一棵\(n\)个点的树,编号\(1\)~\(n\).每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我 ...
- CVE-2017-16995 Ubuntu16.04本地提权漏洞复现
0x01 前言 该漏洞由Google project zero发现.据悉,该漏洞存在于带有 eBPF bpf(2)系统(CONFIG_BPF_SYSCALL)编译支持的Linux内核中,是一个内存任意 ...
- 64位win10系统无法安装.Net framework3.5的两种解决方法【转】
近日有网友反映在windows10_64位系统电脑上安装Net framework3.5,操作时总失败,怎么办呢?小编下面就介绍win10 64位系统无法安装Net framework3.5的两种解决 ...
- Ubuntu在vncviewer下Tab键失效
打开命令行,运行如下命令即可解决: xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/'<'Super'>'Tab -r ...
- Qt ------ 主事件循环与 QEventLoop
1.事件循环一般用exec()函数开启.QApplicaion::exec().QMessageBox::exec()都是事件循环.其中前者又被称为主事件循环. 事件循环首先是一个无限“循环”,程序在 ...
- 前端PHP入门-005-爱情是常量还是变量
常量 常--汉语字面为:长久,经久不变. 常量那就好翻译了:长久不变的值. 常量的使用范围非常广泛. 我们在以后,定义我们的工作目录.定义一些特点的帐户密码.版本号等我们都会使用到常量.所以这一块的知 ...