精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hacking Team安卓瀏覽器攻擊過程中的漏洞分析Stage0

安全 漏洞
Hacking team今年爆出了針對android4.0.x-4.3.x android瀏覽器的漏洞攻擊利用代碼。該漏洞攻擊代碼,通過連續利用多個瀏覽器與內核漏洞,完成通過javascript向虛擬內存寫數據,執行代碼,提升至root權限,并最終達到向目標手機中植入惡意程序的目的。

一、漏洞簡介

Hacking team今年爆出了針對android4.0.x-4.3.x android瀏覽器的漏洞攻擊利用代碼。該漏洞攻擊代碼,通過連續利用多個瀏覽器與內核漏洞,完成通過javascript向虛擬內存寫數據,執行代碼,提升至root權限,并最終達到向目標手機中植入惡意程序的目的。

該利用過程分為5個復雜的Stage,本文首先分析了第1個Stage,即Stage0。 攻擊代碼的Stage0階段通過一個0Day地址泄露漏洞,為后續數據填充操作完成定位地址定位的任務。此漏洞位于android-src\external\libxslt模塊中。

二、漏洞詳細信息

概述

Stage0利用的0Day漏洞原理如下:

該漏洞屬于未經正確性檢查,就直接錯誤地進行強制類型轉換,從而導致一個用于內存讀(實際用于字符串比較)的指針可以被操控。漏洞利用的思路是:通過在JS分配的大片內存空間中,填充字符串:http://www/w3.org/1999/XSL/Transform,程序的后續邏輯會將該字符串會與那個可控內存指針所指向的字符串進行比較,一旦字符串對比不成功,則javascript的一個對象會記錄下“Error”,由于指針所指向的地址是可控制的,一旦發現 “Error”,就重新調整地址,直到沒有發生Error,這樣就得到了javascript開辟的可控空間的內存地址信息。

1. 數據結構背景

圖1展示了hacking team所使用的觸發漏洞代碼: 

 

圖1 漏洞觸發代碼與其內存結構

在瀏覽器中,我們可以使用javascript引用如圖1所示的xsl文件,通過此文件,即可引發stage0所使用的漏洞。圖1中的xsl語句,在libxml2解析后,會形成如圖1中右圖所示結構。其中,xsl描述的cdent節點,即為觸發漏洞的ENTITY類型節點。

此漏洞發生在瀏覽器引擎對xsl文件的解析過程中。因此,我們先簡述一下圖1中代碼,與右圖節點的對應關系。右圖的myDoc節點為虛的根節點,在左圖xsl描述中并沒有對應。xsl描述的最外層adoc和ata節點,同為根節點的下的一級子節點,由于adoc是第一個子節點,被myDoc的數據結構中得children指針指向,ata則被adoc的next指針指向。同理,x節點,cdent節點和y節點,同為adoc的子節點一級,形成如上圖所示結構。#p#

2. 漏洞成因

程序出現異常的根本原因是由于libxslt在對圖1中的cdent(xmlEntity類型)節點進行操作時,并未對此節點的類型進行比較,導致對cdent節點進行了不正確的類型轉換(轉換為xmlNode類型),并對轉換后的節點進行了非法操作。libxslt(android瀏覽器在對xsl進行解析時所使用的模塊)在對xsl操作的過程中,會對大部分節點的namespace進行比較,判斷節點是否為一個合法的xsl節點。

但當節點類型為xmlEntity類型時,由于xmlEntity沒有ns(用來比較namespace信息的數據結構)字段,所以不對xmlEntity類型進行比較namespace操作(xmlEntity類型、xmlNode類型的詳細信息請看圖5)。而libxslt在判斷節點類型是否為xmlEntity時,libxslt的判斷并不完全,最終導致xmlEntity可被轉換為xmlNode進行操作。從而引發程序崩潰。 

 

圖2 未對所有節點的類型進行判斷

觸發崩潰的第一步,是由于對節點類型的比較不完全導致的。libxslt在成功構建節點樹(如圖2中右圖)后,會循環對myDoc的子節點進行namespace比較操作,圖2中左側代碼,是在循環中當對當前節點的所有操作完成時,將循環操作中的節點指針指向下一個需要操作的節點的代碼。根據圖2中第4967行的代碼,我們可以發現,libxslt是希望當目標節點子節點或next節點的類型不為xmlEntity類型時,將目標節點子節點或next節點賦值給cur指針,再由cur指針進入下一次循環。但是,libxslt只對cur指針的第一個子節點進行了數據類型的比較操作,并沒有對cur指針的next節點進行數據類型的比較。而在我們構建的節點結構中,cdent(xmlEntity類型)節點,正是被x的next指針指向的,導致cdent節點不正確的進入了循環。 

圖3 對namespace進行比較的函數

觸發崩潰的第二步,是xmlEntity節點被轉換為xmlNode節點。圖3為第一步中所說的循環的開始位置(圖3代碼的4893行),我們可以清晰的看到第一步所用的cur指針的數據類型為xmlNode類型。而第一步的xmlEntity類型被賦值給了xmlNode類型的指針,這就導致了類型轉換的錯誤。 

 

圖4 IS_XSLT_ELEM宏的定義

觸發崩潰的第三步,是對不正確的數據類型進行了非法操作。圖4為圖3中IS_XSLT_ELEM宏的展開。IS_XSLT_ELEM宏的操作是比較節點的namespace,判斷xmlNode結構體中的ns字段(此字段指向一個xmlNs的數據類型)中的href字段所指向的地址是否存儲了字符串“http://www.w3.org/1999/XSL/Transform”。 

 

圖5 相互轉換的兩種數據類型

當IS_XSLT_ELEM宏的輸入參數為一個xmlEntity類型時,宏就會將orig字符串當作xmlNs類型的數據結構來操作。由于程序中的orig字符串存儲的是xmlEntity節點內的字符串信息,所以在觸發漏洞的代碼這個例子中,此處存儲的字符串為:

'XX';

toascii(addr); // ns->href

toascii(addr); // ns->prefix

'XXXX' // ns->_private

'XXXX' // ns->context

' xmlns:xsl=\'http://www.w3.org/1999/XSL/Transform\' terminate=\'yes\'/>

而在宏中,會把這串字符串當作xmlNs類型來操作。 

 

圖6 xmlNs的數據結構

因此可以通過此漏洞達到地址泄漏的目的。可以注意到,當宏將字符串當作xmlNs節點來處理時,代碼中轉換為ascii碼的addr就可以被當作比較的字符串指針(href)來處理(詳細信息見圖4)所以我們可以將任何可以轉化為ascii碼的地址寫入href指針,從而讓這些指針所指向的字符串與“http://www.w3.org/1999/XSL/Transform”進行比較。

如果比較結果為真,則繼續后續操作,否則,libxslt將返回一個可被javascript接收的error信息。攻擊者通過接受的error信息,就可判定輸入的地址是否有指定的字符串,再結合大量的數據填充,就可以打到地址泄漏的目的。(詳見“三、利用方式”)#p#

3. 調試過程

調試過程在nexus 7+android4.3上進行。

由于在webkit解析xsl文件時,如果標簽為 

 

圖7 程序在xmlParseEntityDecl停下時的狀態

myDoc節點:0x400d9768最終程序崩潰時,調用棧中會顯示是由于處理這個對象而導致崩潰。

Input:0x59988c18通過查看input信息,可知對xsl對象所解析到那個節點。

查看input信息: 

 

圖8 Input中的信息 

 

圖9 程序的解析狀態

如圖9顯示,正在解析!ENTITY節點。(base表示所解析的字符串,cur表示當前解析到的位置。)

函數entityDecl會創建引發錯誤的ENTITY對象: 

 

圖10 xmlEntity節點的創建(此時節點的數據類型為xmlNode)

如圖10中所示,新生成的next節點,為通過entityDecl函數所得到的entity節點(type=0×11,0×11表示為entity節點,為圖2中XML_ENTITY_DECL的實際值)。此時此節點的compression字段(在xmlEntity中此字段為orig字段)為0。

函數xmlParseEntityValue會將節點中的字符串存儲于orig字符串指針中。 

 

圖11 獲取xmlEntity節點中的字符串信息

如圖11所示,程序將從!ENTITY節點中解析出的字符串傳給了orig。(input中的cur(當前值)已向后移動,而之前的部分存入了orig中)

之后,函數會將orig賦值給xmlEntity對象的orig。 

 

圖12 將字符串存入xmlEntity的orig字段中

函數通過cur對目標xmlEntity節點的orig字段進行賦值。 

 

圖13 將之前出問題的節點轉換為xmlEntity類型

如圖13所示,被賦值的cur正是之前創建的xmlEntity節點。

而當程序運行到cur->orig=orig時,目標位置指針被重置: 

 

圖14 字符串的傳入

如圖14所示,此時的compission字段被置為orig指針,存儲著可控的對象。而當對此節點進行namespace比較時,節點會類型轉換為xmlNode類型,而xmlEntity->orig字符串字段則會被當成xmlNs類型來解釋,最終達到任意地址比較的操作。 

 

圖15 程序崩潰時的狀態

如圖15所示,程序最終在字符串比較時發生段錯誤,此時的棧中xsltParseTemplateContext的第二個參數,正是為我們在xmlParseEntityDecl停下時,myDoc所指向的地址。#p#

三、利用方式

1.向內存中填充330頁的寫有namespace信息的頁。通過大量的數據填充,在觸發漏洞時就有更大的可能匹配成功,只有匹配成功,才能進一步的地址泄漏。如果觸發漏洞時的addr值指向未被分配的頁,則會出現段錯誤導致程序崩潰。 

 

圖16 內存填充 

 

圖17 填充namespace信息

2.通過漏洞,可以在xsl對象生成時,修改href指針的值(詳見圖6),將地址改為一個在填充過程中,有很大幾率會被填充到的地址。 

 

圖18 漏洞利用代碼1 

 

圖19 漏洞利用代碼2

3.函數內部會自動對xsl對象的namespace指針進行匹配,以確定xsl對象是否為一個合法的xsl元素。如果為非法元素,則會被javascript捕獲到異常。 

 

圖20 javascript可獲取的異常狀態

4.若進入if,則字符串匹配成功,之后進入二分法查找具體頁的過程,addr為觸發漏洞時所寫入的地址。若進入else,將猜測的地址addr進行變化,再次進行比較過程(此函數名即為find_spray_addr進入else后,則會迭代查找地址)。

5.二分法查找:

a.將填充的330頁數據的前一半(165頁)數據進行清空。

b.再次調用漏洞,判斷是否發生異常,若異常,則addr所指向的地址在前一半填充的頁中。否則,addr所指向的地址在后一半填充的頁中。

c.繼續對前一半或后一半進行a、b兩步,直到僅剩一頁時,則可判定addr指向的是此頁中的地址。 

 

圖21 二分法查找addr所在頁的代碼1

 

 

圖22 二分法查找addr所在頁的代碼2

6.通過獲取頁信息,即可得到一個泄露的內存地址addr以及周圍4mb的可控內存,達到本階段的漏洞利用目的。

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2015-07-08 13:52:18

2015-07-08 10:35:17

2015-07-08 13:36:24

2016-05-03 09:27:21

2024-11-27 16:39:54

2015-07-14 10:53:19

Hacking Tea0Day漏洞

2015-07-14 11:00:16

2015-07-15 12:50:27

微軟IE11

2010-01-18 10:34:59

2015-07-14 10:33:19

2011-12-02 15:20:33

瀏覽器歐朋瀏覽器QQ瀏覽器

2015-07-08 11:06:59

2021-06-04 15:55:32

瀏覽器UC瀏覽器安卓手機

2020-10-29 09:45:58

零日漏洞Chrome攻擊

2014-09-02 12:52:38

手機漏洞安卓手機

2013-11-22 15:05:13

DDoSDDoS攻擊

2019-12-25 09:00:00

JavascriptWeb前端

2019-12-27 16:10:53

前端javascriptnode.js

2016-09-27 15:51:57

2015-07-30 13:56:33

Flash漏洞漏洞利用PoisonIvy
點贊
收藏

51CTO技術棧公眾號

亚洲一区二区三区视频在线| 日韩国产精品久久久久久亚洲| 56国语精品自产拍在线观看| 三级网在线观看| 午夜精品久久久久久久第一页按摩| 青青草免费观看免费视频在线| 欧美伦理免费在线| 99视频国产精品| 国产精品三级网站| 国产极品美女高潮无套嗷嗷叫酒店| 欧美国产不卡| 欧美日韩在线三区| 久久精品无码中文字幕| 97最新国自产拍视频在线完整在线看| 国产在线不卡视频| 欧美一级片免费在线| 国产精品麻豆一区| 日本国产精品| 91精品啪在线观看国产60岁| 国产美女主播在线播放| 午夜精品一区| 91日韩精品一区| 91大片在线观看| 天天射天天干天天| 在线高清一区| 久久亚洲精品小早川怜子66| 国产精品揄拍100视频| 精品国产鲁一鲁****| 色偷偷88欧美精品久久久| 欧美人与动牲交xxxxbbbb| 久久天堂电影| 99久久综合色| 成人永久免费| 99久久亚洲精品日本无码| 美女尤物久久精品| 韩国精品美女www爽爽爽视频| 亚洲精品卡一卡二| 欧洲三级视频| 亚洲欧美国产视频| 在线视频 日韩| 日韩欧美高清一区二区三区| 欧美日韩黄色一区二区| 88av.com| 日韩pacopacomama| 欧美性猛交xxxx免费看久久久| 成人毛片100部免费看| 男人舔女人下面高潮视频| 成人毛片视频免费看| 狠狠色丁香久久婷婷综合丁香| 国产精品99久久久久久www| www.av麻豆| 日韩亚洲国产欧美| 久久免费观看视频| 久久在线视频精品| 欧美三级午夜理伦三级中文幕| 久久九九亚洲综合| www色aa色aawww| 99精品在线| 精品国产欧美一区二区五十路| 久久久久亚洲AV成人无在| 国产精品一线天粉嫩av| 一本色道久久88综合亚洲精品ⅰ| 国产熟妇久久777777| 国产精品日韩精品中文字幕| 亚洲欧美中文在线视频| caopeng视频| 精品国产一区二区三区香蕉沈先生| 亚洲欧美精品一区二区| 91视频免费观看网站| 国产一区二区精品福利地址| 国产一区二区日韩| 亚洲aaa视频| 在线观看国产精品入口| 欧美激情喷水视频| 国产又爽又黄的视频| 亚洲中午字幕| 国产精品色视频| 国产精品嫩草影院桃色| 国产精品亚洲第一| 精品国产区在线| 国产在线色视频| 综合久久久久综合| 国产不卡一区二区视频| 欧美成人黑人| 在线播放/欧美激情| 白丝校花扒腿让我c| 欧美中文一区| 深夜福利国产精品| 不卡中文字幕在线| 欧美一区二区三区爽爽爽| 中文字幕一区二区三三| 高清视频欧美一级| 国产美女www爽爽爽| 国产精品自拍三区| 久久久久天天天天| 老司机在线永久免费观看| 一区二区国产视频| 日韩在线第三页| 欧洲精品99毛片免费高清观看| 亚洲精品按摩视频| 黄色一级片一级片| 亚洲午夜一区| 国产精品一二区| 男人天堂av网| 国产精品毛片高清在线完整版| 日b视频免费观看| 日韩欧美精品电影| 精品第一国产综合精品aⅴ| 免费看黄色av| 在线国产精品一区| 91夜夜揉人人捏人人添红杏| 四虎精品在永久在线观看| 亚洲视频在线一区| 18岁视频在线观看| 国产一区二区在线视频你懂的| 最近2019中文字幕第三页视频 | 一区二区小说| 欧美大胆在线视频| 中文无码精品一区二区三区| 成人中文字幕合集| 中文字幕一区二区三区乱码| 在线视频cao| 欧美成人vps| 亚洲图片第一页| 国产视频一区欧美| 国产成人精品日本亚洲11| 欧美尤物美女在线| 在线亚洲人成电影网站色www| 理论片大全免费理伦片| 伊人青青综合网| 成人激情春色网| 国产高清在线观看| 色综合天天综合| 欧美日韩电影在线观看| 五月天丁香激情| 日韩 欧美一区二区三区| 黑人巨大精品欧美一区二区小视频 | 青春草在线免费视频| 欧美日韩国产三级| 在线观看免费小视频| 中文一区二区| 激情伦成人综合小说| 男人天堂亚洲天堂| 日韩一区二区三区精品视频| 国产老头老太做爰视频| 男女男精品网站| 午夜老司机精品| 成人网ww555视频免费看| 亚洲欧美日韩国产中文专区| 1级黄色大片儿| 99久久久久免费精品国产| 日本五级黄色片| а√中文在线天堂精品| 欧美富婆性猛交| 成人免费一级视频| 亚洲电影激情视频网站| 天天躁日日躁狠狠躁av麻豆男男 | 欧美精品99久久| 黑人久久a级毛片免费观看| 久久久久免费精品国产| 国产香蕉在线观看| 欧美日韩午夜剧场| 精品人妻互换一区二区三区| 天堂va蜜桃一区二区三区| 日本成人看片网址| yy6080久久伦理一区二区| 日韩视频免费大全中文字幕| 国产乱码久久久久| 一区二区免费视频| 亚洲综合自拍网| 日韩精品一级中文字幕精品视频免费观看 | 丝袜一区二区三区| 亚洲av无码乱码在线观看性色| 性感少妇一区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91视频免费在线观看| av电影在线地址| 亚洲免费精彩视频| 在线播放国产一区| 一区二区在线电影| 亚洲专区区免费| 免费成人在线网站| 男人的天堂视频在线| 日本午夜精品久久久| 国产精品视频免费在线| 婷婷在线播放| 亚洲欧美国产精品| 国产成人精品毛片| 欧美性猛交xxxx黑人猛交| 在线观看天堂av| 成人av在线电影| 在线观看免费成人av| 国产伦精品一区二区三区视频金莲| 亚洲久久视频| 麻豆传媒一区二区| 国产精一区二区| 欧美在线视频网站| 国产精品久久麻豆| 日韩麻豆第一页| 国产又粗又大又爽| 欧美日韩国产精品一区二区三区四区| 香蕉久久久久久久| 99精品久久只有精品| 久久婷婷中文字幕| 噜噜噜躁狠狠躁狠狠精品视频| 午夜啪啪免费视频| 免费一区二区三区视频导航| 亚洲一区二区三区乱码aⅴ蜜桃女| 末成年女av片一区二区下载| 不卡毛片在线看| 国产资源在线播放| 亚洲国产成人精品久久久国产成人一区| 中文字幕第315页| 午夜不卡av在线| 国产探花在线播放| 亚洲国产精品99久久久久久久久| 麻豆精品国产传媒av| 精品在线一区二区| 黄色一级二级三级| 免费在线亚洲| 人妻无码久久一区二区三区免费| 我不卡手机影院| 午夜精品电影在线观看| 久操成人av| 精品国产乱码久久久久久108| 国产乱码精品一区二区三区亚洲人 | 四虎永久免费地址| 久久精品无码一区二区三区| 成人区人妻精品一区二| 国产麻豆成人传媒免费观看| 一区二区三区 日韩| 久久国产精品99国产| 欧美 日韩 激情| 亚洲福利一区| 97久久国产亚洲精品超碰热| 五月婷婷六月综合| 一本一本久久a久久精品综合妖精| 国产a久久精品一区二区三区| 国产综合精品一区二区三区| 9l视频自拍蝌蚪9l视频成人| 亚洲最大av网站| 精品国模一区二区三区欧美| 成人性生交xxxxx网站| 色狠狠一区二区三区| 国产精品日韩在线播放| 色8久久影院午夜场| 国产成人jvid在线播放| 三上悠亚亚洲一区| 国产成人精品视频| 日本高清不卡一区二区三区视频 | 日韩在线视频不卡| 色综合咪咪久久| 91视频免费网址| 精品人伦一区二区三区蜜桃网站| 美日韩一二三区| 欧美日韩亚洲视频一区| 无码人妻黑人中文字幕| 91福利在线免费观看| 国产91国语对白在线| 欧美午夜视频网站| 一本到在线视频| 日韩亚洲欧美综合| 免费a视频在线观看| 亚洲精品按摩视频| 黄色av免费在线看| 最近日韩中文字幕中文| av网址在线| 7777精品视频| 99精品在免费线偷拍| 91精品综合视频| 久久一区二区电影| 亚洲高清av| 99re在线视频免费观看| 日韩和欧美的一区| 亚欧精品在线视频| 成人av电影在线观看| 制服 丝袜 综合 日韩 欧美| 国产精品色哟哟网站| 欧美卡一卡二卡三| 精品毛片网大全| 91麻豆精品在线| 欧美日韩国产高清一区二区三区 | 成人综合色站| 青青一区二区| 亚洲第一综合| 国语自产精品视频在线看8查询8| 免费无码毛片一区二三区| 免费日韩av片| 亚洲精品无码久久久久久久| 9i在线看片成人免费| 日韩影视一区二区三区| 亚洲一区二区三区在线| 国产黄网在线观看| 91精品国产丝袜白色高跟鞋| 视频一区二区免费| 日韩在线视频中文字幕| 波多野结衣中文在线| 国产精品久久久久久超碰| 在线精品国产亚洲| 五月婷婷一区| 日韩香蕉视频| 91精品国产三级| 久久亚洲精华国产精华液| 日本青青草视频| 色先锋资源久久综合| www.狠狠干| 欧美国产精品| 中文字幕一区二区三区有限公司| 亚洲日本国产| 性久久久久久久久久久久久久| 99在线精品一区二区三区| 四虎精品免费视频| 色婷婷综合久色| 亚洲男人天堂久久| 久久视频中文字幕| av成人免费看| 麻豆av一区二区| 在线观看视频免费一区二区三区| 加勒比av中文字幕| 欧美激情自拍偷拍| 午夜影院免费在线观看| 日韩欧美资源站| 日p在线观看| 国产精品久久久久99| 精品五月天堂| 欧美交换配乱吟粗大25p| 蜜臀91精品一区二区三区| 偷拍女澡堂一区二区三区| 夜色激情一区二区| 国产丝袜在线视频| 精品国产一区二区三区久久久| 欧美xxx性| 免费毛片一区二区三区久久久| 在线看片欧美| 午夜视频在线免费看| 伊人开心综合网| 国产超碰人人模人人爽人人添| www.99久久热国产日韩欧美.com| 秋霞国产精品| 欧美影视一区二区| 久久久久久黄| 亚洲av无码一区二区三区人| 欧美日韩美女在线| 日韩av资源| 日本久久久久久久| 自拍自偷一区二区三区| 国产成人免费91av在线| 亚洲不卡免费视频| 欧美精品在线免费观看| 精品亚洲a∨一区二区三区18| 黄瓜视频免费观看在线观看www | 欧美理论电影大全| 日本新janpanese乱熟| 中文字幕久久午夜不卡| 依依成人在线视频| 久久天堂av综合合色| 激情久久免费视频| 日本一级黄视频| 成年人国产精品| 国产一级片毛片| 国产午夜一区二区| 日韩黄色在线| 可以在线看黄的网站| 国产成人精品亚洲午夜麻豆| 久久精品久久国产| 日韩经典中文字幕在线观看| 这里有精品可以观看| 欧美精品123| 免费在线观看不卡| 免费高清在线观看电视| 欧美va在线播放| 日本在线高清| 亚洲精品永久www嫩草| 韩国欧美国产1区| 99久久99精品| 五月天一区二区三区| 久香视频在线观看| 91夜夜揉人人捏人人添红杏| 激情文学一区| 国产免费无遮挡吸奶头视频| 欧美军同video69gay| 欧美hdxxxx| 另类视频在线观看+1080p| 奇米亚洲午夜久久精品| 精品99在线观看| 亚洲欧美日韩精品久久亚洲区| 久久69成人| 色欲色香天天天综合网www| 久久久噜噜噜久噜久久综合| 91中文字幕在线播放| 91成人天堂久久成人| 国产精品传媒精东影业在线| 国产精品毛片va一区二区三区| 色在线视频观看| 亚洲欧美电影在线观看| av一区二区三区黑人| 亚洲午夜精品久久久| 91av中文字幕| 欧美在线三区| 51妺嘿嘿午夜福利|