看我怎么发现Chrome浏览器阅览辅佐插件SOP绕过缝隙

访客5年前黑客文章721


本文叙述的是作者发现谷歌浏览器Chrome阅览辅佐插件(Read&Write Chrome extension)1.8.0.139版别同源战略(SOP)绕过缝隙的进程。该缝隙在于Read&Write插件短少对正常交互网页恳求源的安全查看,导致恣意网页都能够调用Read&Write插件的后台特权页面API来履行多种存在危险的操作。因为该版别插件的在线下载使用量较大,在缝隙上报前估量有八百万用户受到影响。
缝隙介绍
比方,使用名为 “thGetVoices”办法的后台API调用办法,能够用插件履行一个恣意URL链接的检索,并用postMessage办法来进行呼应通讯。经过这种办法的API歹意调用,攻击者能够绑架Read&Write插件去读取一些歹意且未经验证的会话数据。
作为验证,作者在文末 *** 了一个缝隙使用PoC视频,在安装了存在该缝隙的Read&Write插件之后,在进行使用操作时,能够使用缝隙长途读取到用户的Gmail邮箱地址信息。在缝隙上报之后,Read&Write插件开发方Texthelp公司敏捷修正了缝隙,并于第二天释出了更新补丁。现在,新版别的Read&Write插件已不存在该缝隙。
缝隙剖析
Chrome的Read&Write插件使用名为“inject.js”的Google浏览器内置脚本(Content Script)来向比如Google Docs在内的各种在线文档页面刺进一个自界说工具栏,以便利读者用户能够使用该插件进行文档读写。默许情况下,此脚本将会向一切HTTP和HTTPS源履行刺进,插件的使用说明中已界说了这一点:
...trimmed for brevity...
  "content_scripts": [
    {
      "matches": [ "https://*/*", "http://*/*" ],
      "js": [ "inject.js" ],
      "run_at": "document_idle",
      "all_frames": true
    }
  ],
...trimmed for brevity...
在  “inject.js” 脚本文件中,存在一个事情监听函数addEventListener,任何被刺进 “inject.js” 脚本文件的交互网页,假如以“postMessage”办法向插件发送呼应音讯,都能被该函数捕获到:
window.addEventListener(“message”, this.onMessage)
这个addEventListener函数还会调用另一个名为“this.onMessage”的函数,该函数用于处理恣意发往页面窗口的postMessage音讯:
function onMessage() {
    void 0 != event.source && void 0 != event.data && event.source == window && "1757FROM_PAGERW4G" == event.data.type && ("connect" == event.dat *** mand ? chrome.extension.sendRequest(event.data, onRequest) : "ejectBar" == event.dat *** mand ? ejectBar() : "th-closeBar" == event.dat *** mand ? chrome.storage.sync.set({
        enabledRW4GC: !1
    }) : chrome.extension.sendRequest(event.data, function(e) {
        window.postMessage(e, "*")
    }))
}
postMessage() 办法:window.postMessage() 办法能够安全地完成跨源通讯。一般,关于两个不同页面的脚本需求具有同源战略才干通讯。window.postMessage() 办法被调用时,会在一切页面脚本履行结束之后(e.g., 在该办法之后设置的事情、之前设置的timeout 事情,etc.)向方针窗口派发一个 MessageEvent 音讯。 该MessageEvent音讯有四个特点需求留意: message 特点表明该message 的类型; data 特点为 window.postMessage 的之一个参数;origin 特点表明调用window.postMessage() 办法时调用页面的当时状况; source 特点记载调用 window.postMessage() 办法的窗口信息。
在上述代码中,能够看到onMessage()会把一切接收到的postMessage音讯经过“chrome.extension.sendRequest”办法发送到Read&Write插件的后台页面。别的,对这些音讯的呼应将传递回onMessage()函数,然后再经过其传递回Web页面中去。这个进程,实际上就在正常的Web拜访页面和Read&Write插件后边之间形成了一个署理机制。
从Read&Write插件的使用说明中,能够发现Read&Write插件中存在许多后台页面:
...trimmed for brevity...
"background": {
  "scripts": [
    "assets/google- *** ytics-bundle.js",
    "assets/moment.js",
    "assets/thFamily3.js",
    "assets/thHashing.js",
    "assets/identity.js",
    "assets/socketmanager.js",
    "assets/thFunctionManager.js",
    "assets/equatio-latex-extractor.js",
    "assets/background.js",
    "assets/xmlIncludes/linq.js",
    "assets/xmlIncludes/jszip.js",
    "assets/xmlIncludes/jszip-load.js",
    "assets/xmlIncludes/jszip-deflate.js",
    "assets/xmlIncludes/jszip-inflate.js",
    "assets/xmlIncludes/ltxml.js",
    "assets/xmlIncludes/ltxml-extensions.js",
    "assets/xmlIncludes/testxml.js"

[1] [2] [3]  黑客接单网

相关文章

黑客盗号在线接单平台_帮忙盗qq号的黑客联系方式-淘宝上能找黑客吗

在此阶段,能够增加任何解析为之前设置的IP地址的域。 + 112ms: Channel 61,留意:我更改IP后无法上网,这时候改回IP也上不了,这时候应该用第12和11的指令,初始化网卡。...

如何监控微信_良心黑客联系-找黑客组队

「如何监控微信_良心黑客联系-找黑客组队」创立文件后,为便利起见,将其复制到本地装置的Kali,由于咱们需求为OLE链接进程准备好文件,这将在后续进程中解说。 为了文件CVE-2019-0199_PO...

24小时在线黑客接单_怎么找接单黑客

· 一群欺诈者建立了一个类似于Jaxx钱包的虚伪网站,意图是经过不合法行为盗取用户的数字钱银。 智能机器人是怎样打电话的 SelectCacheForSharedWorker(int32 host_i...

老公赌博被关半年回来了,被关了我才知道他欠了信

DC* when it's safe in the single Listen case.9、2019年9月7日https://portal.msrc.microsoft.com/en-US/secu...

SMTP用户枚举原理简介及相关东西

SMTP是安全测验中比较常见的服务类型,其不安全的装备(未禁用某些指令)会导致用户枚举的问题,这主要是经过SMTP指令进行的。本文将介绍SMTP用户枚举原理以及相关东西。 SMTP SMTP指令 若服...

微信申诉解封,网上如何能联系上黑客,找黑客破解苹果id

本小菜也是刚开端玩代码审计,最近发现个比较风趣的CMS跟咱们共享一波,尽管只找到一些鸡肋缝隙。 废话不多说开端进入正题,本次审计的CMS是emlog 6.0.0版别,官方地址为:http://www....