unCaptcha:一款针对Google音频验证码系统reCaptcha的安全研究工具
关于unCaptcha
unCaptcha是一款针对Google音频验证码系统reCaptcha的安全研究工具,在该工具的帮助下,广大研究人员可以对部署了reCaptcha的应用程序进行安全审计,当前版本的unCaptcha准确率约为85%。
在互联网上,成千上万的网站依靠谷歌的reCaptcha系统防御恶意攻击,2012年,谷歌的一个研究团队展示了文本reCaptcha的安全缺陷之后,reCaptchha系统演变为依赖音频和图像来实现验证。随着Google对其不断地迭代升级,越来越多的应用程序开始使用reCaptcha来作为安全验证防御机制,unCaptcha便应运而生,广大研究人员可以使用unCaptcha来检测Web应用程序验证码系统的安全性。
工具运行机制
unCaptcha主要针对的是音频验证码,该工具利用了浏览器的自动化软件功能,能够与目标站点的验证码系统进行交互,并解析出攻击所需的元素。
而Google的reCaptcha系统使用先进的风险分析系统,以编程方式确定给定用户是人类还是机器人。该系统会将你的cookie(以及你与其他Google服务的交互)、解决验证问题的速度以及鼠标移动等因素考虑在内。如果用户行为越来越可疑,那么验证问题的挑战难度就会越大,并会要求用户解决更多的验证问题。
音频验证码的数据格式为一系列不同长度的数字,以不同的速度、音调和口音通过背景声进行朗读。为了实现验证,我们需要让音频Payload在页面上被识别、下载并自动按语音位置进行分割。
接下来,每个数字音频比特被上传到6个不同的免费在线音频转录服务(IBM、Google Cloud、Google语音识别、Sphinx、Wit AI、Bing语音识别),并收集这些结果。我们综合这些结果中的每一个,用预定的启发式方法方法枚举最可能的一串数字。然后将这些数字有机地输入到验证码系统中,并完成验证。
从测试中,我们发现,单个数字识别的准确率达到92%以上,而完整识别音频验证码的准确率则达到85%以上。
工具安装
该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/ecthros/uncaptcha.git
然后,我们还需要使用pip命令和requirements.txt安装该工具所需的其他依赖组件:
$ pip install -r requirements.txt
你还需要确保已经安装好了sox、ffmpeg和selenium,安装命令如下:
$ apt-get install sox ffmpeg selenium
最后,我们就可以使用下列命令来运行该工具了:
$ python main.py --audio --reddit
上述命令将会打开reddit.com,与页面交互以进入帐户注册,生成假用户名、电子邮件和密码,然后攻击音频验证码系统。一旦验证完成(无论是否通过),浏览器就会退出并关闭。
工具使用演示
演示视频:
https://www.youtube.com/watch?v=wXrTQzskJLE
幻灯片:
https://drive.google.com/file/d/0BwuogdPv-7DxMDA3N3l1X09nV1U/view?usp=sharing
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
unCaptcha:
https://github.com/ecthros/uncaptcha
参考资料:
https://www.usenix.org/system/files/conference/woot17/woot17-paper-bock.pdf https://pdfs.semanticscholar.org/ceef/94e5e9b6188e9aca558efcf92e57ec987bc4.pdf http://uncaptcha.cs.umd.edu/ https://drive.google.com/file/d/0BwuogdPv-7DxMDA3N3l1X09nV1U/view?usp=sharing
精彩推荐
相关文章
- 折腾Google App Engine:上传应用
- 【随笔】一些可用的 Google 搜索镜像站
- 在线Google Hacking小工具
- 禁止Google Adsense撑破父类 避免破坏手机网页样式
- 使用 Google Breakpad 来助力解决程序崩溃
- Nginx 结合又拍云反代理 Google Analytics 加速国内访问
- 【错误记录】Google Play 上架报错 ( 您上传的 APK 没有经过 Zipalign 处理,请对 APK 运行 Zipalign 工具,然后重新上传。)
- Google内部Fuzz测试字典
- Google Tag Manager (GTM) 和 Adobe AEPL 在 SAP Spartacus 中的应用
- jQuery Google Charts—-一个封装google chart api的jquery插件详解编程语言
- Google Android 开发环境工具 Android Studio 0.8.12
- Google 开源 Docker 镜像差异分析工具 container
- Google 翻译的“汉译英”错误率降低 60%,是怎么算出来的?
- Google Ventures今年投了12家健康公司:这些前沿科技才是他们的菜! | 2016 影响因子
- Google Talk是Google 的即时通讯方式,简称Gtalk。它可以进行文字 google talk聊天以及电脑对电脑的语音连接通话。Google此举进一步激化了它和雅虎,微软以及美国在线之间的竞争
- Google Chrome 90正式版发布:支持AV1编码、速度更快
- 谷歌公布Seurat开发工具,据说移动VR也能达到PC级的图像渲染 | Google I/O 2017
- Google为游戏和VR提供3D音效工具,可跨多平台使用