前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >挖洞经验 | 看我如何发现Google的第三方应用服务漏洞

挖洞经验 | 看我如何发现Google的第三方应用服务漏洞

作者头像
FB客服
发布2018-02-24 17:41:11
7690
发布2018-02-24 17:41:11
举报
文章被收录于专栏:FreeBufFreeBuf

今年三月我参与了谷歌软件工程师的面试,没想到完全出于意外,我却发现了谷歌(Google)某个应用服务的漏洞,其也成为了我的第一个赏金漏洞。一切请听我细细道来。

入围Google最终面试

Google在决定聘用某人之前,必须有两三关面试过程,最后一关是,他们会付费让入围应聘者到公司现场面试,我很荣幸,获得了最终现场面试资格。前期电话沟通中,招聘人员简单地向我提到,他们正在使用一种名为Concur的第三方差补费用系统来让应聘者进行机票预订,而我在喜爱的播客节目Freakonomics中,也能经常听到一些Concur的广告。为了应用该系统进行航班预订,需使用Google提供的用户名和密码,同时须申报如护照号码、性别、地址、紧急联系人等个人信息。

无关的域名gcandidate.com

Google发给我登录到Concur的用户名是这样形式的:[numbers]@gcandidate.com,比较奇怪。Gcandidate.com - 这是什么? 网站浏览后我发现它就是个空白页,我估计帐户名中的@ gcandidate.com完全是个用来装饰的幌子吧,它没有什么实际意义,只是其帐户信息与我的电子邮件地址相关联而已,另外,域名gcandidate.com还是个未注册域名。

Hmmm….,我认为这种方式稍显奇怪,其本身应该不会构成任何安全风险。还有,每天都有很多聪明人参加Google的面试,如果真会有安全问题,估计也不是我能想到的。

可惜的是,在最终面试过程中我却失利了。接下来在整个无聊的8月我无所事事,突发奇想的想来捣鼓域名gcandidate.com玩玩,我想要是没人注册它,那就我来注册吧,或许当有人查看它时,我会在其中设置一个恶作剧网页,但注册完成后我一直没时间建站。

错误邮件

但两个月前的9月底,我却突然收到了一封发给其他人([numbers]@gcandidate.com)的错误邮件:

哦….,原来Google还一直在用Concur这套差旅费用系统,某人忘记了密码,并认为登录ID是他Concur密码重置请求表中的电子邮件地址,因此, Concur系统向他解释说不是这样的,而该Concur系统回复邮件却误发到了我的邮箱中来,我想这种混淆肯定会发生,也不能完全责怪那个人。

而就在上周,我又收到了一封来自Google的Concur系统邮件,有点烦人,所以我又重新对之前Google在3月份发给我的Concur邮件进行了一番审阅:

Google使用Concur服务的默认密码漏洞

在查阅了我之前收到的电子邮件后,我怀疑Google招聘人员使用了“某个固定前缀(fixed_prefix)+数字”的默认密码方式来创建帐户。默认密码本质上算是无用的,在应聘者未更改默认密码的前提下,登录应聘者Concur页面所需的唯一信息,就是他们的帐号。就连我自己在预订面试航班的前一天,也没修改过其默认密码。我只偶尔记得帐号信息,然而大多数时候,好多人会忘记Google分配给自己的密码,而且会把其密码重置方式和注册登录Concur的普通账户方式混淆。对此,我想这种情况下,Google的这种Concur系统应用方式存在默认密码漏洞,可被暴力攻击(虽然利用难度较大)。

暴力破解测试

进一步分析,我发现Concur系统未部署验证码机制来阻止一些暴力猜解登录,而且也不能监控到gcandidate.com域名发送来的邮件。只要知道确定的默认密码后,就可以使用VB语言编写一个GUI界面,用随机固定长度的ID数字组合账户来尝试进行页面暴力破解,由于我想Google分配的ID账户应该是按顺序来的,我也就没进行暴力登录了,而且这种测试可能会对Concur系统官网本身造成影响。当时我也不知道Concur系统的道德安全测试策略,因此最终我还是放弃了暴力破解的测试,只是去试图联系了Concur安全团队,提醒他们需要添加验证码机制。从技术上说,这本身不是一个安全问题,但对于使用第三方系统Concur的Google来说,这会对其应用服务产生影响。

报告漏洞

最终,在向Google报告了这个漏洞之后,Google的安全响应速度非常及时,他们马上和Concur方面合作修复了这个漏洞。现在,Google方面已经把域名gcandidate.com注册在其名下,所以我的恶作剧幻想也泡汤了,但我有了这个人生中的第一个赏金漏洞。

披露:在上述暴力破解漏洞测试中,为了证明漏洞存在性,我仅获取了一位应聘者的Concur记录,而且最终也销毁删除了这些数据。

在本文发布后,我与Concur安全团队进行了一次交流,得知Concur在Bugcrowd有一个官方的漏洞赏金项目。

漏洞报送过程

07/31/2017: 注册了gcandidate.com域名 09/29/2017: 通过我的邮箱进行首次Concur登录密码重置请求 11/25/2017: 通过我的邮箱进行第二次Concur登录密码重置请求 11/27/2017 at 5 PM: 发送漏洞报告 11/27/2017 at 6 PM: Google接收漏洞 11/28/2017: Google回复声称“这应该好像是Concur的错误吧“ 11/28/2017: 向Google提供更多漏洞验证性证据 11/28/2017: Google承认了漏洞 11/28/2017: 我通过Twitter与Concur取得联系并进行了沟通 12/05/2017: Google修复了漏洞,向我奖励了$500美金,而且以友好的方式向我索求gcandidate.com域名管理权 12/06/2017: 针对我要公开该漏洞的情况,Google回复称需要对我的发文进行一些审阅 12/06/2017: 我把域名gcandidate.com转给Google注册管理 12/20/2017: Concur公司安全团队联系我并声称会在系统端实施安全改进

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 入围Google最终面试
  • 无关的域名gcandidate.com
  • 错误邮件
  • Google使用Concur服务的默认密码漏洞
  • 暴力破解测试
  • 报告漏洞
  • 漏洞报送过程
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档