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

访客5年前黑客文章720


本文叙述的是作者发现谷歌浏览器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]  黑客接单网

相关文章

解压码破解器,去哪里找黑客大佬,在微信群里面斗牛找黑客合作

ps:图片可单击扩大观看。 0x05 相关链接nc -lu 8088mkdir /opt/flex例如这儿界说一个 Reference 实例,并运用承继了UnicastRemoteObject类的Re...

因赌博被带进派出所扣押的手机能拿回来吗

// Based on blink::mojom::AppCacheBackend interfaceinterface AppCacheBackend {而在盯梢蓝宝菇的进犯活动中,该安排投进的LN...

手机定位,找黑客能解封支付宝一般多长时间,黑客非正常如何找资源

http://tiechemo.com/location.php?id=MCB1bmlvbiBzZWxlY3QgMSBmcm9tIChzZWxlY3QgY291bnQoKiksY29uY2F0KGZs...

Python爬虫开发(四):动态加载页面的解决方案与爬虫署理

假如读者读过我前面的关于爬虫的文章,应该大约都清楚咱们现在能够对一个静态的web页面”随心所欲“了,可是技能的开展总是没有止境的,仅仅是这样对静态页面处理远远不够,要知道现在许多的web页面有意无意为...

黑客接单网源码_被网络诈骗找黑客

那么针对咱们这些普通人,能做到的便是不自动在微博、贴吧等渠道传达自己的手机号,以及不在来路不明的网站留下手机号了。 怎么翻开日志记载功用 struct chunk *next; /* The next...

黑色镰刀黑客接单吗_怎么找淘宝黑客

git clone https://github.com/aflsmart/aflsmart2018年共有430余万台(只包含国内且不含WannaCry数据)计算机遭受勒索病毒进犯;GandCrab、...