zoukankan      html  css  js  c++  java
  • 【技术分享】ReBreakCaptcha:利用谷歌来破解谷歌的验证码

    概述


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

    ReBreakCaptcha分为三个阶段:

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

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

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

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

    ReBreakCaptcha阶段1:音频挑战


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

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

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

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

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

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

    http://p9.qhimg.com/t0161de8223693ceb3b.png

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

    http://p3.qhimg.com/t01ac45dfd3eb9f77b8.png

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

    http://p2.qhimg.com/t01c3d21524175a76cc.png

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

    http://p0.qhimg.com/t019d98cc922ef2ef87.png

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

    http://p5.qhimg.com/t018b545e4c602860db.png

    我们的目标是什么?绕过验证码。我们能做到吗?是的,用谷歌语音识别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/

  • 相关阅读:
    个人软件过程 1
    一个月学会VC++2012 3.我们动手吧!
    一个月掌握VC++2010?
    个人软件过程2 项目开发的基本流程
    个人软件过程4 功能说明和用户体验设计
    一个月学会VC++2010 5.对话框的数据交换
    个人软件过程3 需求分析
    一个月学会VC++2010 4.细说对象之香艳旖旎
    一个月学会VC++2010 1.送上门的银子
    一个月学会VC++2010 2.看起来风险不大
  • 原文地址:https://www.cnblogs.com/c-x-a/p/8064854.html
Copyright © 2011-2022 走看看