文章讲述了乌拉圭17岁高中生Ezequiel Pereira发现谷歌内部主机信息泄露漏洞的过程,该漏洞获得了谷歌方面10000美金赏金,Ezequiel Pereira本人也因此进入Google漏洞名人堂。
7月11那天,我闲来无聊,所以就打算找找谷歌的漏洞。经过对谷歌不同应用服务接口的大量测试后,我发现,在向Google App Engine(GAE)服务.appspot.com发起请求的过程中,可以在其request中改变主机头信息,间接指向访问谷歌内部服务系统.googleplex.com的。为此,用Burp来进行一些直观地操作和观察:
Google App Engine:GAE,是一个开发托管网络应用程序的平台,可让你在 Google 基础架构上运行自己的网络应用程序。其应用程序易于构建和维护,并可根据你的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:只需上传你自己的应用程序,便可立即生成和提供服务。
谷歌内部服务系统:https://googleplex.com或https://login.corp.google.com/,为谷歌内部员工作业服务系统。
在不断变换的主机头请求信息中,大部份都为无效,要么返回404响应,要么设置了谷歌内部人员账户认证。但只有一个内部系统网站yaqs.googleplex.com,不需任何安全验证。
在对该内网请求的过程中,访问其主页会被重定向到/eng页面下,该页面非常有意思,包含了很多谷歌应用服务和网络架构的链接节点,但当我进一步访问时,却在页脚处显示了:”Google Confidential”(谷歌内部机密信息)字样。
到此,我停止了继续浏览,立即向谷歌安全团队上报了该问题。所以,也没来得及对该问题进行一个直观的验证说明,按理来说,可以以下方式的PoC来作出描述:
在给谷歌的漏洞问题上报中,我简单的说明了问题,以下为上报漏洞邮件大概:
从Google App Engine请求中获得对谷歌机密网站的访问权
使用BurpSuite
1、在Repeater模块下
2. 将目标主机设置为 “www.appspot.com“, 目标端口设置为”443” ,勾选”Use HTTPS” 选项
3、写入以下HTTP请求(结尾包括两个空行)
GET /eng HTTP/1.1
Host: yaqs.googleplex.com
4、点击发送”Go”
任何人可以访问到谷歌内部名为YAQS,并标有“谷歌机密”的应用系统;
我不清楚网站的具体内容和用途,我仅只对其主机进行了访问浏览,你们可以从服务访问日志进行核实(我的IP是x.x.x.x,来自乌拉圭)
Burp的请求信息截图
几个小时之后,谷歌安全团队就进行了有效验证,并给我回应:
我暗自心想,这就是一件不值一提的小事而已,其网站中包含的东西可能也就是一些技术文档资料的东西。但几个星期后,也就在我学校放假期间,我收到了谷歌的邮件回复。邮件中说,经过谷歌漏洞赏金项目组评审,我上报的那个漏洞问题可以得到10000美金的赏金,还能进入漏洞名人堂!哇…..,此刻的心情就像中奖一样!
该漏洞在于可以更改请求包中的主机头请求信息,对谷歌内部网站发起请求,攻击者可以藉此获取谷歌的一些敏感数据,目前已被谷歌修复。
7月11日, 10:13 AM 漏洞上报
7月11日, 02:44 PM 漏洞分类
7月11日, 04:46 PM 谷歌回复有效
8月4日, 12:55 PM 赏金回复
8月4日 , 05:07 PM 出于好奇,向谷歌方面询问了漏洞危害,并征求漏洞公开意见
8月5日, 05:37 AM 谷歌方面给予回复
*参考来源:site.google,freebuf小编clouds编译,转载请注明来自FreeBuf.COM