安全专家发现Gmail动态邮件功能出现跨站攻击(cross-site scripting , XSS)漏洞 , 能让攻击者透过此类电子邮件发动攻击 , 所幸google已在上个月修补Gmail这项漏洞 。
这个漏洞是由安全公司Securitum在动态邮件功能AMP4Email发现 。AMP4Email是Google今年初发表了动态Gmail服务 , 可在电子邮件加入动态html属性 , 让使用者可直接在邮件中回复活动邀约、填写问卷或浏览目录 。例如有人在GoogleDocs中加注评论时提及某位用户时 , 该用户即可收到更新的Gmail邮件看到该评论 , 而直接在邮件中回复 。
为了防止AMP4Email遭XSS等攻击行为 , Google设计了验证机制 , 即一组允许放入动态邮件的HTML标签和属性的白名单 。不过研究人员发现AMP4Email仍然出现设计漏洞 。他们发现id属性不在禁止标签名单上 , 而可能让黑客用以建立HTML元件 , 导致名为DOM Clobbering的攻击 。
文章插图
简单而言 , 这类手法会将DOM元素的id属性加为文件的属性或网页的全局变量 , 导致原有文件属性或全局变量被覆盖 , 或者劫持某些变量属性 , 而造成XSS攻击 。
DOM Clobbering是浏览器一项旧有功能 , 迄今仍对许多应用程式带来麻烦 。Securitum首席安全研究员Micha?Bentkowski举例 , 在建立HTML元素且希望从JAVAScript建立参照时 , 一般是用document.getElementById('username')或document.querySelector('#username')等函数 , 但是并不是唯一方法 。也可以利用全局window物件属性 , 因此window.username在此也等于document.getElementById('username')! 。这种方法即为DOM Cloberring , 碰上应用程式根据某些全局变量(如if(window.isAdmin){…})进行决策时 , 就产生了漏洞 。
在AMP4Email中 , 某些id属性的值是被限制的 。但研究人员发现在AMP_MODE下 , 如果函式尝试下载JavaScript档案时会发生404错误 , 致使后续出现的URL出现「未定义」的属性 , 而负责检查未定义元素的程序码会去检查AMP_MODE.test和window.testLocation的值是否为真 。在概念验证攻击中 , 撰写程序造成window.testLocation overload即可控制URL 。
虽然在真实情境下 , AMP中的属性安全政策(CSP)会阻止攻击100%执行 , 但是研究人员8月间在Google的抓漏大赛中发现这项漏洞并通报Google 。9月获得Google回复是「很棒的bug」 。Google于10月中旬回复已修补漏洞 。
【Google动态邮件功能出现XSS漏洞,可让黑客透过Gmail发动攻击】资料来源:iThome Security
推荐阅读
- 「google教程」async/await的使用和原理
- 动态路由协议OSPF基础了解,作为信息管理人员必须了解的网络技术
- 企业动态|重庆一公司招聘地推要求必须属羊!网友属兔被拒
- 大型企业中必用的动态路由OSPF,一分钟了解下基础知识
- Google的新广告策略严重影响OTA巨头流量和业绩
- Alibaba Java诊断工具Arthas查看Dubbo动态代理类
- Google Chrome高危安全漏洞曝光 32亿用户必须更新
- Google、Facebook等不可错过的 AI 开源工具,你想要的都在这里
- Google广告投放中四个限制受众的功能
- OSPF路由动态协议及配置