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

2017 年 12 月 26 日 FreeBuf clouds

今年三月我参与了谷歌软件工程师的面试,没想到完全出于意外,我却发现了谷歌(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公司安全团队联系我并声称会在系统端实施安全改进

*参考来源:amproject,freebuf小编clouds编译,转载请注明来自FreeBuf.COM

登录查看更多
0

相关内容

第31届并发理论国际会议CONCUR 2020的目的是将研究人员、开发人员和学生聚集在一起,以推进并发理论,并促进其应用。 CONCUR 2020是QONFEST 2020总括会议的一部分,该会议包括CONCUR、QEST、FORMATS联合国际2020会议,以及一些研讨会和教程。官网链接:https://concur2020.forsyte.at/
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
报告 |事理图谱的构建及应用,附61页pdf
专知会员服务
189+阅读 · 2020年1月17日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
搭建自己的searx搜索引擎
黑白之道
13+阅读 · 2019年5月31日
史上最全 OpenCV 活体检测教程!
无人机
5+阅读 · 2019年4月10日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关资讯
搭建自己的searx搜索引擎
黑白之道
13+阅读 · 2019年5月31日
史上最全 OpenCV 活体检测教程!
无人机
5+阅读 · 2019年4月10日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
Top
微信扫码咨询专知VIP会员