最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

漏洞丨CVE20102883

2023-03-31 00:08 作者:rkvir逆向工程學(xué)院  | 我要投稿

作者丨黑蛋

一、漏洞描述

此漏洞編號(hào)CVE-2010-2883,看著是一個(gè)很簡(jiǎn)單的棧溢出漏洞,但是也要看怎么玩了。這個(gè)漏洞是Adobe Acrobat Reader軟件中CoolType.dll在解析字體文件SING表中的uniqueName字段的調(diào)用了strcat函數(shù),但是對(duì)參數(shù)沒(méi)有做出判斷,沒(méi)有檢查uniqueName字段長(zhǎng)度,導(dǎo)致了棧溢出漏洞。此漏洞影響版本如下:
Adobe Acrobat 8.0
Adobe Acrobat 8.1
Adobe Acrobat 8.1.1
Adobe Acrobat 8.1.2
Adobe Acrobat 8.1.3
Adobe Acrobat 8.1.4
Adobe Acrobat 8.1.5
Adobe Acrobat 8.1.6
Adobe Acrobat 8.1.7
Adobe Acrobat 8.2
Adobe Acrobat 8.2.1
Adobe Acrobat 8.2.2
Adobe Acrobat 8.2.4
Adobe Acrobat 9.0
Adobe Acrobat 9.1
Adobe Acrobat 9.1.1
Adobe Acrobat 9.1.2
Adobe Acrobat 9.1.3
Adobe Acrobat 9.2
Adobe Acrobat 9.3
Adobe Acrobat 9.3.1
Adobe Acrobat 9.3.2
Adobe Acrobat 9.3.3
Adobe Acrobat
Apple Mac_Os_X
Microsoft Windows
Adobe Acrobat_Reader 8.0
Adobe Acrobat_Reader 8.1
Adobe Acrobat_Reader 8.1.1
Adobe Acrobat_Reader 8.1.2
Adobe Acrobat_Reader 8.1.4
Adobe Acrobat_Reader 8.1.5
Adobe Acrobat_Reader 8.1.6
Adobe Acrobat_Reader 8.1.7
Adobe Acrobat_Reader 8.2.1
Adobe Acrobat_Reader 8.2.2
Adobe Acrobat_Reader 8.2.3
Adobe Acrobat_Reader 8.2.4
Adobe Acrobat_Reader 9.0
Adobe Acrobat_Reader 9.1
Adobe Acrobat_Reader 9.1.1
Adobe Acrobat_Reader 9.1.2
Adobe Acrobat_Reader 9.1.3
Adobe Acrobat_Reader 9.2
Adobe Acrobat_Reader 9.3
Adobe Acrobat_Reader 9.3.1
Adobe Acrobat_Reader 9.3.2
Adobe Acrobat_Reader 9.3.3
這次我用的是9.0版本。

二、環(huán)境準(zhǔn)備

虛擬機(jī)

調(diào)試工具

目標(biāo)軟件

16進(jìn)制編輯器

Win7X86SP1、Kali

Ida、x32dbg

Adobe Acrobat_Reader 9.0

010Editor

三、漏洞復(fù)現(xiàn)

使用MSF生成EXP:

然后在Win7中安裝Adobe Acrobat_Reader 9.0:

把Kali中的Exp拖到本機(jī),再拷貝到Win7中,拖到Adobe中:

彈出計(jì)算器,證明漏洞存在,Exp也沒(méi)有問(wèn)題。

四、漏洞分析

首先我們需要做幾個(gè)準(zhǔn)備工作,1、改掉隨機(jī)基址,省的麻煩,把用010Editor打開(kāi)Adobe,修改如下地方:

2、在把軟件拖調(diào)試器中,忽略程序自身異常(因?yàn)槲疫@邊調(diào)試器接管異常,導(dǎo)致程序運(yùn)行不下去,所以需要忽略)

接下來(lái)就是正兒八經(jīng)分析了,因?yàn)橐阎┒磫?wèn)題是在CoolType.dll,直接在安裝文件夾下找到這個(gè)dll,拖到Ida中:

然后Alt+T,搜索sing:

雙擊到標(biāo)記的一條:

下面這一坨就是漏洞溢出的地方,如果有需要可以自行分析一下,或者使用其他手段找到溢出點(diǎn):

我們直接看strcat函數(shù),地址是0x0803DCA4,這里基址是0x08000000,所以函數(shù)偏移是3DCA4,接下來(lái)我們就是動(dòng)態(tài)追蹤一下計(jì)算器彈出的具體過(guò)程,用x32dbg附加軟件,F(xiàn)9運(yùn)行,等軟件加載完所需要的dll,然后
查看各個(gè)模塊基址,找到CoolType.dll,基址是0x60690000,那么加上偏移就是0x3DCA4=0x606C DCA4:

跳轉(zhuǎn)到0x606CDCA4,下斷點(diǎn):

接下來(lái)把我們生成的Exp拖到軟件中,稍微等會(huì),就斷在了我們斷點(diǎn)處,然后在堆棧窗口中轉(zhuǎn)到EBP,觀察溢出情況:

我們先看看strcat函數(shù)的倆個(gè)參數(shù),堆棧中轉(zhuǎn)到ESP,可以看到,源數(shù)據(jù)和要拷貝的地址,而要拷貝的地址就是EBP:

然后走過(guò)strcat函數(shù),觀察EBP的位置,發(fā)現(xiàn)已經(jīng)被淹沒(méi)覆蓋:

然后繼續(xù)往下走,走到如下函數(shù)單步步入:

然后步入下面這個(gè)call:

然后步入第一個(gè)call:

然后走到如下位置:

這里的call是exp特意構(gòu)造的,如果追尋eax的來(lái)源,就會(huì)發(fā)現(xiàn)他指向我們拷貝的數(shù)據(jù)中的一個(gè)地址,這里是把棧抬高到我們淹沒(méi)EBP那里,進(jìn)入這個(gè)函數(shù)就會(huì)發(fā)現(xiàn),函數(shù)流程已經(jīng)被我們劫持了,從這里開(kāi)始就進(jìn)入我們的流程:

接下來(lái)會(huì)進(jìn)入一系列ROP鏈(這里使用了堆噴技術(shù),目的為了繞過(guò)DEP):

走到這里,調(diào)用了一個(gè)CreateFile創(chuàng)建了一個(gè)iso88591文件,其參數(shù)都是Exp構(gòu)造好的:




文件在這:

在這里可以看到EAX指向一個(gè)CreateFileMapping函數(shù),創(chuàng)建文件映射:

隨后跳轉(zhuǎn)到此函數(shù):

之后根據(jù)同樣手法,進(jìn)入MapViewOfFile函數(shù),將一個(gè)文件映射對(duì)象映射到當(dāng)前應(yīng)用程序的地址空間:


跑了半天,又用之前的手法走到memcpy函數(shù),如果留意的話,就會(huì)發(fā)現(xiàn),這里是把shellcode寫到MapViewOfFile返回的地址,因?yàn)檫@里是可寫可讀可執(zhí)行,繞了半個(gè)地球,就是為了繞過(guò)DEP:


然后這里就是正兒八經(jīng)shellcode地方:


經(jīng)過(guò)一段解密,可以看到字符串calc.exe:


從這里可以看到是通過(guò)CreateProcessA創(chuàng)建了計(jì)算器:



以上就是Exp的運(yùn)行過(guò)程,最后彈出計(jì)算器的結(jié)果。

五、總結(jié)

這個(gè)Exp的編寫用了很多技術(shù),包括利用了PDF文件可執(zhí)行js代碼的特性,然后使用棧溢出劫持運(yùn)行流程到icucnv36.dll,這個(gè)模塊沒(méi)有ASLR保護(hù),然后再通過(guò)ROP鏈,各種寄存器布置,然后新建文件,又將文件映射到內(nèi)存,再把shellcode拷貝到這塊區(qū)域。
參考鏈接:http://static.anquanke.com/download/b/security-geek-2019-q2/article-12.html


漏洞丨CVE20102883的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阿合奇县| 潼南县| 磐安县| 长寿区| 吴堡县| 凤翔县| 天柱县| 定边县| 伊宁县| 庆城县| 洛南县| 新绛县| 互助| 文昌市| 肥城市| 乌海市| 石台县| 宿松县| 海城市| 望都县| 棋牌| 北京市| 景泰县| 武定县| 安岳县| 商水县| 呼伦贝尔市| 安多县| 长顺县| 红原县| 新平| 巧家县| 广水市| 贵南县| 恩施市| 崇义县| 寿光市| 门头沟区| 汉中市| 新余市| 南郑县|