国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

系統 瀏覽器
本文我將快速介紹iOS Chromium瀏覽器以及WKWebView提供的JavaScript進程間通信(IPC)的潛在攻擊面。

 本文我將快速介紹iOS Chromium瀏覽器以及WKWebView提供的JavaScript進程間通信(IPC)的潛在攻擊面。另外,我還講討論在探索此代碼區域時發現的一個UXSS漏洞。WKWebView 是蘋果在 WWDC 2014 上推出的新一代 webView 組件,用以替代 UIKit 中笨重難用、內存泄漏的 UIWebView。WKWebView 擁有60fps滾動刷新率、和 safari 相同的 JavaScript 引擎等優勢。

iOS Chromium瀏覽器以及WKWebView提供的JavaScript進程間通信(IPC)的潛在攻擊面

與Chromium瀏覽器的桌面版(使用V8作為JavaScript引擎,使用Blink進行渲染和WebAPI支持)不同,iOS版的Chromium沒有。實際上,iOS上所有第三方瀏覽器很可能都使用內置的WKWebView API向其應用程序添加Web支持,Chromium也不例外。原因是iOS平臺上的代碼簽名限制以及Apple不愿意允許開發人員提交啟用了動態協同設計權限的應用程序。特別是,此權限允許應用程序映射RWX內存。這個功能將允許實現一個高效的JavaScript引擎,與其讓Chromium在平臺上遭受性能不佳的困擾,不如像其他瀏覽器一樣使用WKWebView。

IPC

使用WKWebView而不是自己的渲染和JavaScript引擎的一個不幸的副作用是,你不能再對底層代碼進行直接修改。這意味著你不能直接向網站公開新的本機功能。 WKWebView API通過WKUserContentController對象對此進行了補救。在創建WKWebView對象期間,可以通過WKWebViewConfiguration對象傳遞該對象。

該對象不僅可以用于將JavaScript直接注入網頁中,還可以通過JavaScript公開本機或目標c代碼。這些JavaScript接口通過window.webkit.messageHandlers對象公開,并通過postMessage接口支持調用。在撰寫本文時,每個網頁都有四個消息處理程序可用,找到這些代碼的最簡單方法是grep“setScriptMessageHandler”的代碼

  1. window.webkit.messageHandlers.FrameBecameAvailable.postMessage(...) 
  2. window.webkit.messageHandlers.FrameBecameUnavailable.postMessage(...) 
  3. window.webkit.messageHandlers.crwebinvoke.postMessage(...) 
  4. window.webkit.messageHandlers.FindElementResultHandler.postMessage(...) 

 先讓我們一起討論前兩個消息處理程序,這些是控制WebFrameImpl對象的創建和銷毀的處理程序。該對象的唯一責任是管理瀏覽器進程與頁面內框架之間的IPC通信。在內部,這些對象由WebStateImpl擁有的WebFramesManagerImpl管理。 WebStateImpl對象是代表選項卡的主要對象,在桌面上與之等效的是WebContents對象。

[[358609]]

與桌面版的Chromium不同,在Chromium的桌面版本中,諸如RenderFrameHost之類的對象與框架的生命周期完全同步,而WebFrameImpl對象的生命周期則完全由JavaScript控制。如果網頁隨機調用FrameBecomeAvailable或FrameBecomeUnavailable,則框架可能沒有相應的WebFrameImpl對象,或者可能有10個,不過此時我還沒有注意到由該API公開并以這種方式使用而引起的任何內存安全問題。

這些處理程序通常通過//ios/web/js_message/resources目錄中的代碼調用,要創建WebFrameImpl對象,需要以下代碼段。

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

要銷毀一個WebFrameImpl對象,下面的代碼片段就足夠了。

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

在上面的代碼段中,銷毀框架的WebFrameImpl對象唯一需要的就是其標識符,除主框架的標識符外,這些標識符都是公開的。

這是因為,如果瀏覽器的本機端要在子框架中執行JavaScript,它將首先通過主框架路由消息。這是通過調用WebFrameImpl :: CallJavaScriptFunction方法來完成的,此方法使用目標框架的加密密鑰對函數名稱和參數進行加密,然后將對__gCrWeb.message.routeMessage的調用注入到頁面的主框架中。然后,接收框架將消息中的目標框架字段與其自身的框架ID相對照。如果不匹配,它將遍歷所有子框架并重新發布消息。最終,消息將進入正確的子框架,并且將解密消息并調用所需的函數。之所以子框架的框架ID是公開的,是因為任何子框架都可以安裝消息偵聽器,并檢查通過它傳遞的消息的目標框架ID字段。

這些routeMessage調用的構建方式與FrameBecameAvailable處理程序中的監督相結合,實際上導致了一個相當嚴重的漏洞。在將routeMessage調用注入主框架時,使用了以下代碼。

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

可以看到,腳本是使用格式字符串構建的,該格式字符串使用了WebFrameImpl的encryption_message_json,encrypted_function_json和frame_id_成員。最初,frame_id_成員對你可以提供的名稱沒有任何限制。因此,子框架可以執行以下代碼:

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

這將導致創建一個新的WebFrameImpl,其框架ID為foobar'); alert(window ['origin'] +'。創建框架后,瀏覽器將嘗試向其路由消息。會嘗試從框架中獲取表單信息以進行自動填充,因為將JavaScript注入到主框架中,這將以在主框架中運行的以下代碼結尾:

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

此漏洞的影響是,它啟用了從子框架(例如托管廣告的框架)中的UXSS,并允許該框架在托管框架的網頁中運行任意JavaScript。不過該漏洞已經進行了修復,該修補程序本身很簡單,可以確保框架ID僅包含十六進制數字(0-9和A-F)。

crwebinvoke

crwebinvoke處理程序用于處理綁定到標簽的WebState對象的消息,通過調用WebStateImpl :: AddScriptCommandCallBack添加這些處理程序,并且回調本身具有以下簽名。

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

ScriptCommandCallback senderFrame的第四個參數有趣的是,它完全取決于在消息的crwFrameId字段中傳遞的ID。再加上子框架的框架ID可能會泄漏的事實,可能會在將來導致漏洞。目前,我還沒有注意到此行為引起任何漏洞。值得注意的是,許多回調在執行某些操作之前會執行類似于if(sender_frame->IsMainFrame()的操作。這意味著,如果你可以泄漏表示主機框架ID的128位值,則可以模擬主機框架。幸運的是,我沒有注意到執行此操作的任何方法。

就像該接口的一個示例一樣,它與任何安全問題都不相關,它是處理window.print調用的代碼。

Edge 漏洞研究團隊對 iOS Chromium 漏洞的研究

如果你在網頁中執行上述代碼,則將打開打印對話框。

crwebinvoke界面提供的另一個功能是從注入的JavaScript調用發送結果的通道,每當通過routeMessage調用方法時,瀏覽器都會在內部向列表添加回調處理程序。通過發送frameMessaging_

此實現細節的一個潛在問題是,偽造回應所需要的只是發送請求的框架ID和請求的消息ID的知識。事實證明,消息ID最終只是一個32位的遞增整數,它來自創建框架時的crwFrameLastReceivedMessageId參數。對于新的框架,這個消息ID從0開始。這意味著任何子框架理論上都可以偽造任何其他子框架的回調。然而,我還沒有注意到任何利用子框架消息的問題。

FindElementResultHandler

最后,FindElementResultHandler處理程序負責將被修改的HTML元素通知瀏覽器。每當修改網頁時,瀏覽器就會在主框架中調用__gCrWeb.findElementAtPoint。當findElementAtPoint檢測到所修改的元素位于不同來源的子框架中時,會在子框架上發布一條消息,以便它可以處理通知瀏覽器的操作。這用于生成長按上下文菜單,并在CRWContextMenuController類中實現。

總結

盡管本文討論的大多數概念都專門針對基于Chromium的iOS瀏覽器,但所有WKWebView使用者都可以訪問messageHandler功能。在審核基于WKWebView的瀏覽器時,它是一個很好的第一手資料。MessageHandler是一個抽象類,開發者可以在自己的項目中創建自己的類,繼承并實現(重寫)MessageHandler中提供的方法。

本文翻譯自:https://microsoftedge.github.io/edgevr/posts/Hacking-Chrome-iOS/如若轉載,請注明原文地址。

 

責任編輯:姜華 來源: 嘶吼網
相關推薦

2020-09-25 10:14:54

漏洞

2010-05-18 10:39:22

2020-10-16 09:42:22

漏洞

2020-10-14 09:44:52

漏洞

2023-07-07 13:29:45

2023-02-26 23:28:45

2021-09-26 14:04:14

iOS零日漏洞漏洞

2015-03-30 09:54:57

2012-10-24 16:45:33

2011-05-18 14:05:14

2014-12-25 09:51:32

2020-10-14 10:39:50

漏洞網絡攻擊網絡安全

2023-06-09 15:54:27

2010-04-19 10:32:07

2021-09-26 11:00:55

漏洞網絡安全網絡攻擊

2023-08-23 12:38:10

2022-07-07 00:13:14

零日漏洞變種

2019-04-03 08:52:50

2013-01-24 10:04:41

2009-02-19 16:33:31

點贊
收藏

51CTO技術棧公眾號

欧美精品一区二区免费| 亚洲综合日韩欧美| 国产精品自在线拍| 精品捆绑美女sm三区| 精品视频三区| 亚洲一区二区五区| 欧在线一二三四区| 丁香激情综合五月| 欧美大片免费播放| 另类专区欧美蜜桃臀第一页| 精品欧美一区二区久久久伦| 精品国产精品国产偷麻豆| 国内外成人免费激情在线视频| 欧美日韩尤物久久| 精品亚洲永久免费精品| 不卡一本毛片| 欧美成人午夜电影| 成人影音在线| 亚洲激情视频在线播放| caoprom在线| 欧美一级精品大片| 四虎久久免费| 91精品国产色综合久久ai换脸| 国产51人人成人人人人爽色哟哟| 色婷婷av久久久久久久| 成人jjav| 欧美一级艳片视频免费观看| 羞羞视频在线观看免费| 日韩欧美国产wwwww| 丁香花视频在线观看| 精品视频在线播放| 国产精品av一区二区三区| 国产亚洲精品美女久久久| 日本精品在线中文字幕| 久久成人18免费网站| 超碰在线亚洲| 国产精品视频久久| 国内精品嫩模av私拍在线观看| 精品国产一区二区三区日日嗨 | 精品视频在线观看免费观看| 久久精品在线视频| 国产日产一区| 99在线视频免费观看| 日韩精品高清不卡| 日本a级片免费观看| 1000部国产精品成人观看| 日本免费不卡| 亚洲精品久久久久久久久| 日韩黄色在线| 国产97人人超碰caoprom| 欧美激情视频一区二区三区在线播放 | 中文亚洲视频在线| 国产精品白浆| 亚洲中国色老太| 美国欧美日韩国产在线播放| 精品一区二区中文字幕| 精品成人久久av| 高清视频在线观看三级| 久久久久久伊人| 五月激情综合| 黄色特一级视频| 亚洲图片一区二区| 成年男女免费视频网站不卡| 久久久免费精品| 亚洲人成久久| 欧美精品一区二区三区免费播放| 日韩人体视频一二区| 高清电影一区| 成人h视频在线| 国产精品自产自拍| 中日韩免费毛片| 亚洲色图五月天| 成人影院在线| 亚洲国产精品女人| 亚洲一区二区偷拍精品| 日韩欧美另类一区二区| 国产日韩精品电影| 成人av一区二区三区| 青青久在线视频| 久久国产精品久久久久久| 亚洲欧洲一区| 97午夜影院| 亚洲天堂影视av| 欧美人与禽猛交乱配视频| 免费看一级大黄情大片| 欧美日韩不卡视频| 蜜桃一区二区| www污在线观看| 欧美老年两性高潮| 国产99久久久国产精品成人免费| 在线观看成人一级片| 欧美日韩一区二区免费在线观看| 成人在线日韩| 亚洲欧洲精品在线| 色偷偷88欧美精品久久久| 操欧美女人视频| 大陆极品少妇内射aaaaaa| 欧美视频在线不卡| 国产一区二区电影在线观看| 久久久亚洲精品无码| 精品国产髙清在线看国产毛片| 成人精品视频| 国产福利在线免费| 日韩资源在线观看| 久久99久国产精品黄毛片色诱| 国产大片在线免费观看| 国产精品福利在线观看| 91免费在线视频观看| 校园春色亚洲| 蜜桃传媒视频麻豆第一区免费观看| 亚洲一本大道在线| 欧美精品密入口播放| www.com毛片| 亚洲深夜福利在线| 日韩精品成人一区二区三区| 在线免费观看黄| 91精品国自产在线观看| 亚洲精品视频在线观看网站| 岛国精品一区| 日日噜噜夜夜狠狠| 欧美日韩高清区| 久久久久久久久久久久久久久99| 国产精品毛片久久久久久久久久99999999| 国产69精品久久久久9999apgf| 亚洲v中文字幕| 日韩免费看片| 最新中文字幕在线视频| 国产精品久久91| 亚洲免费在线看| 欧美精品第一区| 蜜臀在线观看| 91久久国产自产拍夜夜嗨| 日韩欧美成人区| 欧美成人有码| av网站在线播放| 国产一区喷水| 在线91免费看| 男人的天堂久久精品| 悠悠资源网亚洲青| 水蜜桃色314在线观看| 久久亚洲精品中文字幕冲田杏梨| 9人人澡人人爽人人精品| 视频精品一区二区三区| ts人妖交友网站| 国产精品成人播放| 色综合 综合色| 免费一区视频| 91精品产国品一二三产区| 男女私大尺度视频| 9.1国产丝袜在线观看| 午夜精品福利一区二区蜜股av| 欧美1区2区视频| av激情在线| 国产资源在线免费观看| 欧美国产日产韩国视频| 亚洲精选一二三| 欧美日韩成人| 女同视频在线观看| 91专区在线观看| 日本久久久久久久久| 在线观看国产日韩| 激情六月婷婷久久| 国产伦精品一区二区三区免费优势 | 中文字幕日韩精品有码视频| 国产日韩三级在线| 日韩免费看片| 欧美aaaaaaa| 亚洲色精品三区二区一区| 国产精品网红直播| 日韩女优毛片在线| 久久久久久综合| 99久久九九| 1234区中文字幕在线观看| www.日日操| 51国产成人精品午夜福中文下载| 欧美成人午夜电影| 国产日韩欧美亚洲| 99精品热视频只有精品10| 在线高清欧美| 蝌蚪视频在线播放| 欧美日韩激情四射| 国产久一一精品| 精品亚洲一区二区三区在线观看| 中文字幕制服丝袜一区二区三区| 日韩午夜一区| 亚洲视频三区| a级毛片免费观看在线| 国产一线二线三线在线观看| 精品国产乱码久久久久久久软件| 久久精品2019中文字幕| 欧美亚洲一区二区在线观看| 91亚洲精品乱码久久久久久蜜桃| 久久久久久免费视频| 亚洲伊人精品酒店| 日本网站在线免费观看视频| 亚洲高清免费在线观看| 亚洲 国产 欧美一区| 国产日韩中文字幕| 欧美大成色www永久网站婷| 日韩欧美国产一区二区三区|