首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >unCaptcha:一款针对Google音频验证码系统reCaptcha的安全研究工具

unCaptcha:一款针对Google音频验证码系统reCaptcha的安全研究工具

作者头像
FB客服
发布于 2023-02-24 04:55:40
发布于 2023-02-24 04:55:40
1.3K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

 关于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环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/ecthros/uncaptcha.git

然后,我们还需要使用pip命令和requirements.txt安装该工具所需的其他依赖组件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ pip install -r requirements.txt

你还需要确保已经安装好了sox、ffmpeg和selenium,安装命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ apt-get install sox ffmpeg selenium

最后,我们就可以使用下列命令来运行该工具了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ python main.py --audio --reddit
代码语言:javascript
代码运行次数:0
运行
复制

上述命令将会打开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

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Swiper开篇
 swiper是一款轻量级以及免费的移动设备触控滑块的js框架,主要运用于移动端的操作,但也可以用于pc端页面效果制作,完全的开源免费,
用户3159471
2018/09/13
1.9K0
Swiper滑动Html5手机浏览器自适应
手机网页能通过window.screen.height, width获取屏幕分辨率,于是能够通过分辨率比率来计算高度。
全栈程序员站长
2022/07/08
1.6K0
Swiper滑动Html5手机浏览器自适应
移动端弹框后禁用页面滑动
在web开发中,有时候我们需要实现在页面上点击某个按钮弹出窗口,并禁用页面滑动或滚动的需求。以下是我本人的做法,望大家多多提出意见或建议。 直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>移动端弹框禁止背景滑动</title> <link rel="stylesheet" href="test.css"> <link rel="stylesheet" href="../l
用户1174387
2018/01/17
2.5K0
移动端弹框后禁用页面滑动
使用 swiper 轮播插件遇到的问题及解决方法
我只是记录一下我在使用过程中遇到的几个属性,详细API大家可以直接去官网查看:Swiper4.x使用方法
德顺
2019/11/13
4.8K0
Swiper如何快速上手?
Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。
Javanx
2019/09/04
7990
Swiper实现全屏视觉差轮播
Swiper作为当代流行的js框架,非常受到青睐,这里演示swiper在pc端全屏视觉轮播的效果,这也是pc端常用的一种特性
用户3159471
2018/09/13
3.7K0
swiper实现图片轮播功能
swiper是一个相当强大的图片展示插件,下面我来介绍一下swiper的简单图片轮播功能。一般情况下我们所说的图片轮播就是在一个区域内有几张图片循环展示,有的可以滑动图片观看下一张图,有的可以点击图下方的小点来选择哪个图,也有点击两侧的左右按钮来切换图片展示。我们先来看一下如何实现
OECOM
2020/07/01
7.1K0
Swiper插件使用方法
Swiper插件的简单使用 Swiper插件是用来写轮播图的插件,十分简洁方便。可以直接去Swiper官网下载并点击开始使用Swiper按钮查看使用方法,这里只介绍简单引用的方法。 本文所写内容在官网均有详细介绍。 一、下载并引入文件 可以直接登录官网下载,如果安装了Nodejs环境也可以打开编译器终端利用npm i swiper下载 将文件放到你喜欢的路径,并分别引入css和js文件 <!DOCTYPE html> <html> <head> ... <link rel="styl
江一铭
2022/06/17
1.7K0
Swiper插件使用方法
D3结合Swiper实现一个选中动画
最近接到一个项目,其中有一个小需求我觉得可以稍微沉淀一下,首先是d3.js的简单应用,还有就是swiper的调试费了一定的时间
玖柒的小窝
2021/11/02
9060
Swiper做轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conten
明知山
2020/09/03
1.4K0
3D展示图片轮播效果
相信大家都见过图片轮播的效果,现在很多效果都是有几张图片在页面上来回播放,或者需要用户去点击播放。但是在这个页面美观度要求很高的今天,我们需要更有新意的图片轮播效果来展示我们的产品,达到吸引用户眼球的目的。下面我来介绍一下3D展示图片轮播效果。
OECOM
2020/07/02
2.8K0
get几个小技能:轮播图插件、进度条插件、筛选过滤插件
最近参加了一个网页设计大赛,趁这个机会做了一个个人简历的网页:点击欣赏 用到了许多有趣的东西们今天分享一下。
不愿意做鱼的小鲸鱼
2022/09/24
1.9K0
get几个小技能:轮播图插件、进度条插件、筛选过滤插件
AntUI滑块Sliders
浅色分页器 <style>.demo-swiper.swiper-container {    height: 150px;    overflow: hidden;    margin: 0 10px;    padding-top: 10px; }.demo-swiper .swiper-slide {    line-height: 140px;    text-align: center;    background: #108EE9;    color: #ffffff; }</style><di
爱知汇
2020/10/10
2.5K2
Vue路由详解(路由基础,路由轮播,路由传参,通配符路由)
一. Vue路由基础知识点: 1.router-view: 类似angular里的插座,用于承载路由的切换组件 2.router-link: 类似angular里的routerLink,区别是:vue的router-link是一个组件,直接充当a标签使用.但是在最后渲染时,vue还是会将其渲染成a标签 3.routes: 数组,用来做路由信息的配置 4.router: 对象,通过该对象的方法实现路由的跳转,例如按钮点击实现跳转 5.route: 类似angular里的ActiveRoute,用来获取路由传参的值
生南星
2019/07/22
3.4K0
基于swiper的手机端上下和左右滑动效果
上一篇文章中我向大家介绍了基于swiper的手机端上下和左右滑动效果,但有时候在上下滑动的中间需要有左右滑动的效果,那么我就再来给大家介绍一种基于swiper的手机端上下滑动的同时还能够左右滑动效果,来看一下代码。
OECOM
2020/07/01
3.7K0
移动端滑动切换
预览 scss样式 @import 'common';//初始样式,可以不需要(这是我项目需要) /*body默认铺满整个屏幕*/ body{ position: absolute;
潇洒哥和黑大帅
2018/10/23
2.1K0
移动端滑动切换
『教程』首页及文章页滚动广告栏
因为之前在很多网站上都能看到广告,虽然但是,这对很多博主来说也是一笔额外的收入,我一直是入不敷出!
云计算小黑
2022/12/28
1.1K0
『教程』首页及文章页滚动广告栏
swiper.animate实现轮播展示动画效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Swiper demo</title> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> <link rel="stylesheet" href="https://cdn.bootc
明知山
2020/09/03
1.7K0
react中使用swiper
最近的react项目需要使用轮播图,自然而然的就想到了swiper,一直想通过npm安装的方式来使用,但是网上找了很多,资料很少,于是就暂时通过在index.html里直接引用swiper的js和css文件的方式来加载,下面来说一下具体的步骤和使用方法。
OECOM
2020/07/01
2.1K0
AngularJS 中使用Swiper制作滚动图不能滑动
Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,受到很多前端开发者的欢迎。 ---- 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类,在swiper-wrapper里生成6个以上的滑动页,可是就是划不到第二页,尝试将longSwipesRatio的值修改到最小,仍然不起作用。 <div class="swiper-wrapper" > <!-- =======循环部分======= --> <div cla
冷冷
2018/02/08
2K0
相关推荐
Swiper开篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档