挖洞经验

文章讲述了乌拉圭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.comhttps://login.corp.google.com/,为谷歌内部员工作业服务系统。

在不断变换的主机头请求信息中,大部份都为无效,要么返回404响应,要么设置了谷歌内部人员账户认证。但只有一个内部系统网站yaqs.googleplex.com,不需任何安全验证。

在对该内网请求的过程中,访问其主页会被重定向到/eng页面下,该页面非常有意思,包含了很多谷歌应用服务和网络架构的链接节点,但当我进一步访问时,却在页脚处显示了:”Google Confidential”(谷歌内部机密信息)字样。

漏洞上报

到此,我停止了继续浏览,立即向谷歌安全团队上报了该问题。所以,也没来得及对该问题进行一个直观的验证说明,按理来说,可以以下方式的PoC来作出描述:

curl -k “https://yaqs.googleplex.com” –resolve “yaqs.googleplex.com:443:172.217.28.180″

在给谷歌的漏洞问题上报中,我简单的说明了问题,以下为上报漏洞邮件大概:

漏洞概要:

从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编译