一名16岁的安全研究人员今年稍早发现,Google一个后台系统存在跨网站脚本程序(cross-site scripting,XSS)漏洞,一旦遭恶意人士开采可能用于攻击Google员工或是窃取Google敏感信息。所幸经通报后,Google已及时修补。
专职网页开发及Google漏洞赏金猎人的Thomas Orlita,今年稍早在Google名为Google Invoice Submission Portal的网站上发现这项漏洞。这个网站旨在提供第三方供应商上传发票,它是托管在appspot.com的公开域名上,后者多半用于托管Google App Engine项目,而Google自有网站在开发阶段也经常使用,不过在正式上线时会转移到google.com或其他域名。本案可能是因为疏忽而直接在appspot.com上,出版了有漏洞的Invoice Upload的网站所致。
Invoice Upload网站以文本表格要求供应商输入电子邮件信件、发票编号、日期、文件类型(Content Type),然后上传发票的PDF档,这种方式可以防止XSS攻击。但研究人员发现,他可以在PDF文件真正上传前,将文件文件扩展名由.pdf改成.html,将Content Type由application/pdf改为text/html。如此一来,Google网站即接收了XSS内容,而非应该有的PDF档。
数天后他得知在googleplex.com域名正在执行盲目式(blind,即未显示错误消息的)XSS。Google内部网站及app都是托管于这个域名上。欲登录该域名都会被导向Google公司的登录页(称为MOMA登录页)。唯有Google员工才有权登录,需要输入有效的google.com帐号进行验证。
也就是说,研究人员已经用XSS攻击进入了Google内部网站。如果恶意人士在googleplex.com执行恶意JavaScript,则可能访问Google发票系统或其他敏感信息。
研究人员在2月通报Google。Google指出,Googleplex.com上的应用程序彼此独立,即使cookie或凭证被窃,登录该网站的黑客或恶意程序也无法在Google网站间横向移动。不过Google还是于3月底修补了这个问题,也不再把数据存储到googleplex.com网站,而改存储到storage.googleapis.com网址,后者用于存储上传的用户信息,但类似沙箱环境,就不再有XSS攻击的风险。