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

admin 2020年9月11日12:05:50评论201 views字数 787阅读2分37秒阅读模式

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

研究人员找到了谷歌地图中的安全漏洞,获得5000美元的漏洞赏金,随后又发现了补丁绕过方法,再次获得5000美元的漏洞赏金。

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

谷歌地图提供了许多的特征可以让用户创建自己的地图。创建自己的地图后,就可以导出为不同的格式,其中一个格式就是KML格式。KML格式是一种类似XML但提供了多种额外特征的特征。研究人员创建了一个名为‘blabla< script >alert(1)< /script >’的地图,并导出为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美元的奖励。

该漏洞最早是在2019年4月23日发现的,随后于2019年6月7日修复。该事件给我们的启示就是补丁虽然发布了,但是补丁效果仍然要经过确认和验证。

参考及来源:https://www.ehpus.com/post/xss-fix-bypass-10000-bounty-in-google-maps

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

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

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年9月11日12:05:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   价值10000美元的谷歌地图XSS漏洞http://cn-sec.com/archives/129144.html

发表评论

匿名网友 填写信息