Grammarly For Chrome扩展任意用户劫持漏洞分析及利用

责声明">
  评论 2018年2月2日,Grammarly正式更新Grammarly for Chrome版本14.826.1446,修复了一个关键漏洞。在以前的版本中,此扩展程序能够将用户令牌信息公开给所有站点,从而可以访问任何网...
  评论 2018年2月2日,Grammarly正式更新Grammarly for Chrome版本14.826.1446,修复了一个关键漏洞。在以前的版本中,此扩展程序能够将用户令牌信息公开给所有站点,从而可以访问任何网站。并在Grammarly上修改用户的文档,词典,访问历史,日志信息,用户信息和其他敏感数据。 Grammarly在同一天正式修复了这个漏洞,并在2月5日关闭了这个漏洞。
影响版本:≤14.826.1446。
攻击难度:低。
危害程度:高。
官方维修情况如下:目前官方已发布最新版本14.826.1446   什么是Grammarly? Grammarly是由外国制造商开发的语法检查应用程序,具有1000w +用户,提供浏览器扩展,Web版本,Mac版本和Windows版本。如果您使用Windows,Grammarly还提供Word插件。下载后,您可以调用Word中的插件直接检查语法错误。我也是Grammarly的忠实用户之一。 语法可以实现实时语法检查。您可以在编写时更改它。语法问题和修改后的注释将以注释的形式显示在文档的右侧,以便您可以逐个查看它们,并且每个注释下都会有详细说明。解释一下,告诉你出了什么问题,我为什么要修改它。当您收到错误的内容时,可以将其保存在用户词典或文档中。
请检查Grammarly的好消息:https://youtu.be/wOxVMRwLfjU   漏洞分析 从网上下载旧版本的扩展,这里我们使用的是最新版本的最新版本14.825.1439(这里有所有版本https://www.crx4chrome.com/history/2722/
),然后解压插件包,主要代码是在extension_14_825_1439_0srcjsGrammarly.js文件中,代码很多,但主要的核心漏洞代码如下图所示:
这里在返回的Message对象中,当返回的数据data.action=user和data.Grammarly=true时,调用sendUser()函数,直接返回sendUser()函数中的用户对象,该函数包含在用户对象中。所有用户的信息,包括email,firstName,grauth和其他敏感信息,以便任何网站都可以触发消息事件,通过postMessage操作获取Grammarly用户的敏感信息。 由于Grammarly的许多接口登录身份验证只需要严重值的值,因此可以直接访问它。因此,可以通过恶意获取用户的格鲁斯值来随意操纵用户的数据信息。   漏洞验证和利用 在官方漏洞详细信息中,漏洞作者在浏览器控制台中提供了几行代码来触发漏洞,如下所示:
让我解释一下这四行代码的含义: 将当前DOM中的节点元素设置为可编辑(默认情况下不可编辑); 返回文档中与指定选择器组匹配的第一个元素,其中返回[data-action=“editor”]的节点元素并执行单击操作; 返回class=gr_-ifr的iframe节点元素对象,然后通过contentWindow获取包含页面的iframe的window对象。最后,该对象被注册到指定的侦听器。当对象触发指定的事件消息时,将执行并以匿名方式执行回调。功能; 通过postMessage触发时间并发送用户数据。 最后,用户信息中的电子邮件和grauth信息将在控制台上返回,如下图所示:
获得grauth的内容后,发送附加的grauth
可以从Grammarly接口获取对cookie内容的请求(grauth not expired)以获得相应的用户数据。下图访问用户的文档:
其他可用的接口如下:
尽管可以在此处证明此漏洞,但它并未充分利用此漏洞来反映其危害。漏洞报告中提到的任何网站都可以获得敏感的用户信息,也就是说,我们创建了一个恶意网站,只需安装Grammarly
Chrome插件的用户访问我们的网站时将被劫持。让我们实现这种使用场景。 首先,我们的网站页面必须具有可编辑文本的功能,例如< textarea>以便自动调用Grammarly函数,因此我们可以构建以下页面:
在这里,我们成功指出了语法错误,然后单击右下角的图标执行相关操作。 然后我们将构造的js代码添加到此页面并在编辑区域中触发此js代码:
最后,我们将构建的网站发送给受害者。当受害者访问网站时,鼠标移动到编辑区域以触发漏洞,将用户电子邮件和grauth内容发送到攻击者服务器,如我们服务器上的下图所示。用户信息:
备注:此处仅执行部分测试,攻击方法可行,不执行非法操作和数据收集。   错误修复 在2018年2月2日更新的最新版本14.826.1446中,此漏洞已得到修复,用户的敏感信息将直接在代码中删除,如下图所示:
在Chrome中安装最新版本后,您可以通过控制台调试查看返回的data.user信息中没有敏感信息,如电子邮件和grauth,如下图所示:
使用Grammarly for Chrome的用户应该进行更新,以免被恶意攻击者滥用。   参考链接 https://bugs.chromium.org/p/project-zero/issues/detail?id=1527 本文转载自:Fengmo Security Lab  作者:xfkxfk
如果转载,请注明出处:https://mp.weixin.qq.com/s/rQbJj_yprCFOxQIF1VU6kg##黑客业务清单介绍及一般分类: 类别:攻击入侵破解开发 1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量] 2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。 3:破解业务类:软件,加密文件,二次打包,脱壳等。 4:二次开发业务清单:软件二次开发,源代码二次开发等 5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。
  • 发表于 2018-02-13 00:00
  • 阅读 ( 1367 )
  • 分类:黑客技术

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
黑客

2107 篇文章

作家榜 »

  1. 黑客 2107 文章