利用Googleplex.com的盲XSS访问谷歌内网

众所周知,谷歌是一家非常庞大的科技公司,它依赖于数千家供应商来维持其运营。为了跟踪和支付这些供应商,谷歌提供了一个公共在线工具,供应商可以通过它将他们的发票上传到谷歌。

这就是被称为Google Invoice Submission Portal的谷歌票据提交系统,你可以在 gist-uploadmyinvoice.appspot.com 上找到。

你首先可能注意到的是网站被托管在appspot.com域上,该域多用于托管Google App Engine项目。

Google经常使用它来构建他们的一些网站,并最终将生产版本转移到google.com或其他某些域上。

在当前这种情况下,他们很可能忘记将appspot.com上托管的Invoice Upload网站发布到google.com上了。

上传发票

首先,它要求我们输入是采购订单编号。输入的内容并不重要,只需键入随机数并单击“搜索”按钮即可。

然后,是选择与发票相关的组织。这决定了处理发票的国家/地区。同样,我们只需随便选择一个并单击“提交”就行。

现在,我们可以看到一个文字表格要求供应商输入电子邮件信件、发票编号、日期、档案类型,然后以PDF格式上传实际发票。

漏洞发现

我尝试使用了各种XSS payload来填充这些文本字段,希望它们的发票仪表板中的某个位置没有正确地对输入进行转义,这会触发盲XSS并会向我发送通知。但实际情况并非我想的那么简单。我没有收到任何的内容,因此这说明它正确处理了文本字段。

除文本输入外,输入还可选择PDF文件。但其配置只允许选择上传PDF格式的文件。

但由于这只是一个前端的验证,因此它不会阻止我们在发送上传POST请求时更改文件的类型。

我们只需选择一个任意的PDF文件,就会触发上传请求。我们可以使用Web代理拦截请求,并将文件名和内容从.pdf更改为.html。

首先,我们将filename属性更改为test.html,将Content-Type更改为text/html,将body更改为XSS payload。

在payload中,我将使用一个<script>标记,其中src指向我域上的端点,每次加载时都会向我发送一封电子邮件。我当前使用的是ezXSS来记录这些盲XSS请求。

现在,HTML文件已附加到表单,我们可以单击Submit Invoices按钮发送表单。

执行盲 XSS

几天后,我收到了一条通知,告知我googleplex.com域上已执行了盲XSS。

Google使用googleplex.com托管内部网站和应用。如果你尝试访问该域,你将被重定向到Google Corp登录页面(也被称为MOMA登录页面)- 这需要身份验证(有效的google.com帐户)。这意味着只有Google员工才能访问它。

页面的DOM与替代PDF文件的XSS payload匹配。我们可以看到该URL用于显示PDF文件。但由于上传文件的Content-Type已从application/pdf被更改为了text/html,因此它显示的是XSS payload而不是PDF文件。

影响

在googleplex.com子域上执行自定义JavaScript代码,攻击者可以访问Google的发票以及其他一些敏感信息。

由于Google员工使用其公司帐户登录,因此应该可以代表他们访问其他内部网站。

更新:对于访问其他内部网站这里做个更正。我收到了来自Google安全小组的更多信息:

访问单个googleplex.com应用不会让你访问到任何其他应用

googleplex.com应用程序,它们彼此独立

并且凭据和cookie无法被盗或用于其他网站。

这意味着攻击者仍然可以访问处理发票的子域,但由于CORS,而无法访问googleplex.com上的其他应用程序。

漏洞修复

我已向Google发送了有关此漏洞的详细信息。四天后我收到了报告已被接受的更新。

大约一个月后,我确认它已被修复。

虽然在修复之后XSS仍然存在,但它不是在googleplex.com上,而是在storage.googleapis.com上 – 它充当沙箱域并且也用于存储上传的用户(也像googleusercontent.com一样) 内容。

XSS现位于沙箱域中,XSS不会对用户造成任何安全风险。

时间线

2019 02.21:报告了漏洞

2019 02.22:优先级被更改为P2

2019 02.22:添加了更多信息

2019 02.25:接受并将优先级改为P1

2019 03.06:发放奖励

2019 03.26:实施修复

2019 04.11:问题被标记为已修复

*参考来源: appio ,FB小编secist编译,转载请注明来自FreeBuf.COM

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章