如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

今天就跟大家聊聊有关如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

大家好,下面分享的writeup是作者通过在Tumblr用户注册过程中,发现Tumblr的“人机身份验证”机制(reCAPTCHA)存在缺陷,可被轻松绕过。这种绕过形成的安全风险是恶意攻击者可进行大量虚假社交账户创建、进行针对账户的用户名和邮箱枚举,间接导致Tumblr网站应用出现流量异常甚至用户信息泄露。

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

我对漏洞众测的理解和经历分享

去年6月16日,HackerOne在伦敦举办的黑客马拉松大赛中,为发现漏洞支付的赏金有超过了8万多美金。漏洞众测确实是个未来可期的行业,对众测平台来说,有组织给赏金的测试活动,即可以激励安全研究人员发现漏洞,也能提高上报漏洞质量,还能把详细的漏洞信息转发给厂商进行及时修复。

安全是门复杂的学问,即使是大公司也难免犯错。企业在面对的内部资源和外部攻击者之间,往往存在不定的安全风险,而漏洞众测恰好可以很好地弥补其中存在的安全空白。如果你的组织机构无法从内部培养或选拔出高质量且多样化的安全测试人员,那么就可以借助外部的众测项目或咨询服务等方式,来进行安全产品或相关系统的测试和漏洞发现。

就我个人来说,在众测过程中也遇到过一些不好的经历。我曾给Myspace上报过一个访问任意账户的高危漏洞,但在我与Myspace的冗长协商过程中,他们简直就是漠不关心的态度,最终我选择了公开漏洞(点此阅读)。该漏洞影响将近3.6亿多个用户帐户,我寄希望于能通过公众压力来促使漏洞修复,这种行为也是迫不得已。

而相反的是,我曾发现了Tumblr公司的一个reCaptcha验证码绕过漏洞,从Twitter方式上报给他们后,他们就直接私信我进行交流,只经过了两天漏洞就得到修复。以下就是我对该漏洞发现过程的分享。

Tumblr的reCaptcha验证码绕过漏洞

在我访问www.tumblr.com进行用户注册时,发现其中嵌入的谷歌reCAPTCHA验证码服务存在一个错误配置漏洞,那就是由客户端和应用发送的reCAPTCHA验证码请求中,其中名为‘g-recaptcha-response’ 的参数值可以置空。该漏洞会对所有新注册用户产生影响,且不需要什么特别的工具进行利用,只需手动地点击网站上出现的按钮,或是通过抓包代理发起修改即可。

漏洞影响

通常来说,Captcha机制如果运行部署合理,是具有速率限制作用的(Rate Limiting),可以用其来防止垃圾用户创建虚假社交账户,减少特定应用的请求量。我发现的这个Tumblr页面reCAPTCHA验证码绕过漏洞,可以被攻击者用来创建虚假账户;另外由于Tumblr的用户注册机制只允许注册邮箱绑定一个用户名,所以,也可以利用该漏洞进行针对用户邮箱和用户名的暴力枚举攻击,反复大量的枚举可以导致Tumblr的用户注册信息泄露。

漏洞复现

我们先来看www.tumblr.com页面中正常的账户创建过程,首先来到登录页面https://www.tumblr.com/login,点击右上角的注册按钮“Sign up”:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

然后就跳转到了账户注册页面 https://www.tumblr.com/register :

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

接着,点击开始按钮 ‘Get Started’,之后就会出现一些必填选项,包括用户名、密码和邮箱:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

完成以上必填项之后,还要输入年龄和勾选服务条款须知:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

接下来,就会跳出一个“人机身份验证”(reCAPTCHA )页面:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

除了这么一个“人机身份验证”(reCAPTCHA )选项部署在这里,其下方还有一个选项“完成了”(Almost Done!)。搞笑的是,虽然通常来说需要完成“人机身份验证”才能进行下一步,但是,经我测试发现,可以直接不用勾选“人机身份验证”中的 “I’m not a robot”,直接点击下方的“完成了”(Almost Done!)即可完成这里所谓的“人机身份验证”,就直接进入下一步到用户的Tumblr主页。这种“人机身份验证”(reCAPTCHA )部署在这里是当摆设的吗?

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

抓包分析

为了深入分析,我们用Burp来看看用户在“人机身份验证”(reCAPTCHA )这一步发起具体的请求和响应。

发起“人机身份验证”时的POST请求如下:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

仔细查看上述POST请求可以发现,其中的recaptcha质询是一个名为‘g-recaptcha-response’的参数值,也就是上图中的红字部分。但如果我们把这个参数值置空,也等同于就不去勾选它,会发生什么情况?这样构造的POST请求如下:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证

后经测试发现,Tumblr服务器端对以上两种POST请求都返回了相同且有效的响应:

如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证当然也就是说,Tumblr服务器端直接就是忘记了检查‘g-recaptcha-response’ 参数的值,才导致了上述的“人机身份验证”(reCAPTCHA )机制被绕过。

尽管很多网站应用都要求用户群的高度可信,但类似这种验证绕过漏洞在这些网站中也很常见。这不,前不久Google才刚刚修复了一个可完全绕过 reCAPTCHA 的漏洞。

看完上述内容,你们对如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

文章标题:如何分析绕过Tumblr用户注册过程中的reCAPTCHA验证,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/25563

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月15日 下午11:31
下一篇 2022年9月15日 下午11:32

相关推荐

  • mysql如何修改存储引擎为innodb

    两种修改方法:1、使用SET语句临时修改默认存储引擎,语法为“SET default_storage_engine=innodb;”,当重启客户端后就会恢复为原引擎类型。2、使用ALTER TABLE语句修改,语法“ALTER TABLE 表名 ENGINE=innodb;”,可以修改指定表的引擎类…

    2022年9月21日
    16100
  • git如何删除某个分支

    git删除某个分支的方法:1、利用“git branch –delete dev”命令删除本地分支;2、利用“git push origin –delete branch”命令删除远程分支;3、利用“git branch –delete –remote…

    2022年6月29日
    10.2K00
  • program files可不可以删除

    “program files”不可以删除;“program files”文件夹是windows系统的程序文件夹,在系统安装完成后就已经生成,该文件夹用于存放已经安装的应用程序,位于C盘根目录,如果删除可能会导致系统运行的不稳定,导致操作系统的崩溃。 本教程操作环境:windows10系统、DELL …

    2022年9月10日
    24000
  • 创业公司为何要进行人员培训?

    本文来自Worktile 运营国际事业部新晋小鲜肉 @邵智康的激情分享,其独到而又不失水准的看法如一股清流洒向人间如果你正囿于人员培训的问题,那就千万走过路过不要错过啦 在企业发展的巨流河里,无论商业环境如何发展与变迁,行业竞争如何残酷而激烈,对于无数大大小小的企业来说,他们在许多年的浮浮沉沉中也许…

    2022年3月20日
    23600
  • jquery怎么获取屏幕宽高

    具体方法如下: 1.获取当前窗口可视区域宽度 $(window).width(); 2.获取当前窗口可视区域高度 $(window).height(); 3.获取当前窗口文档对象宽度 $(document).width(); 4.获取当前窗口文档的高度 $(document).height(); 相…

    2022年8月29日
    21800
  • Laravel中如何找到最慢的查询

    DB::listen() 幸运的是,在 laravel 中,我们可以定义一个在每次执行查询时调用的回调(参见 此处)。为此,请将以下代码添加到任何服务提供者(例如 AppServiceProvider): public function boot(){ DB::listen(function ($q…

    2022年9月8日
    8700
  • XML外部实体注入漏洞的示例分析

    一、XML外部实体注入 XML 外部实体注入漏洞也就是我们常说的 XXE 漏洞。XML 作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理 xml 数据的代码,默认情况下,许多过时的或配置不当的 XML 处理器都会对外部实体进行引用。 如果攻击者可以上传 XML 文档或者在 XML 文档中…

    2022年9月20日
    47300
  • win server2012 r2服务器共享文件夹怎么设置

    1.启用guest账号 控制面板->用户账户->管理其他账户->Guest启用 2.设置共享%ignore_a_1% 添加everyone和Guest 点击共享 点击网络和共享中心 关闭密码保护共享 3.策略中找到 网络访问->本地帐户的共享和安全模型”并双击,会弹出其属性窗…

    2022年9月24日
    21900
  • MySQL中的用户创建与权限管理怎么实现

    一、用户管理 在mysql库里有个user表可以查看已经创建的用户 1.创建MySQL用户 注意:MySQL中不能单纯通过用户名来说明用户,必须要加上主机。如hhy@10.1.1.1 基本语法: mysql> create user ‘用户名’@’被允许连接的主机名称或主机的IP地址’ ide…

    2022年9月2日
    10300
  • WEB开发中常见漏洞防御方法是什么

    SQL注入漏洞 SQL注入漏洞产生原因及危害 在sql查询中很多程序员会将变量拼接入sql语句后再进行查询,这样如果黑客在参数中插入其他sql语句就可能导致我们网站的密码被被黑客查询出来或者被拖取大量数据,如果在开发中使用了字符串拼接进SQL语句就必须进行严格的过滤,任何用户输入的内容都不可信任,以…

    2022年9月26日
    8700
联系我们
站长微信
站长微信
分享本页
返回顶部