谷歌|价值 10000 美元的谷歌地图 XSS 漏洞

研究人员找到了谷歌地图中的安全漏洞 , 获得5000美元的漏洞赏金 , 随后又发现了补丁绕过方法 , 再次获得5000美元的漏洞赏金 。
谷歌地图XSS漏洞
谷歌地图提供了许多的特征可以让用户创建自己的地图 。创建自己的地图后 , 就可以导出为不同的格式 , 其中一个格式就是KML格式 。KML格式是一种类似XML但提供了多种额外特征的特征 。研究人员创建了一个名为‘blabla’的地图 , 并导出为KML格式 , 然后可以看到服务器的响应:
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

可以看到接收到了一个XML响应(其中含有一些KML标签) , 其中地图名也包含在一个CDATA标签中 , 也就是说浏览器并没有渲染这些代码 。但是如何闭合一个CDATA标签 。
第一个XSS:CDATA标签绕过
研究人员分析发现通过添加特殊的字符 , 就可以闭合CDATA标签 。比如 , 在payload的开始添加‘’ , 就可以绕过CDATA和添加任意XML内容 , 引发XSS 。这就是研究人员发给谷歌的完整复现步骤:
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

提交给谷歌后不久 , 就收到了谷歌的确认以及5000美元的漏洞奖励 。
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

第二个XSS:补丁绕过
不久 , 谷歌就修复了该漏洞 。研究人员也收到了谷歌的邮件:
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

然后研究人员用同样的payload测试发现 , 为了闭合CDATA标签 , 谷歌又添加了另外一个CDATA标签:
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

有2个‘CDATA’开放标签 , 那么用2个‘CDATA’闭合标签就可以绕过了 。
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

绕过如此简单 。研究人员将相关信息发送给谷歌后 , 不到2小时就收到了谷歌的回复:
谷歌|价值 10000 美元的谷歌地图 XSS 漏洞
文章图片

文章图片

并且再次收到了5000美元的奖励 。
【谷歌|价值 10000 美元的谷歌地图 XSS 漏洞】该漏洞最早是在2019年4月23日发现的 , 随后于2019年6月7日修复 。该事件给我们的启示就是补丁虽然发布了 , 但是补丁效果仍然要经过确认和验证 。


    推荐阅读