成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微軟MS09-002漏洞分析報告

安全 黑客攻防
Internet Explorer的CFunctionPointer函數沒有正確處理文檔對象,如果以特定序列附加并刪除了對象,就可以觸發內存破壞。攻擊者可以構造特殊順序的代碼觸發這個內存破壞,同時利用精心構造的緩沖區,導致以當前登錄用戶的權限執行任意代碼。

Internet Explorer的CFunctionPointer函數沒有正確處理文檔對象,如果以特定序列附加并刪除了對象,就可以觸發內存破壞。攻擊者可以構造特殊順序的代碼觸發這個內存破壞,同時利用精心構造的緩沖區,導致以當前登錄用戶的權限執行任意代碼。

該弱點實際存在于mshtml.dll中。CFunctionPointer對象在其構造函數中沒有正確地引用文檔對象(標簽對象或其它),導致該文檔對象可能在CFunctionPointer對象釋放前被釋放,而CFunctionPointer會繼續使用這個已經被銷毀的文檔對象。

這是CFunctionPointer的構造函數:
public: __thiscall CFunctionPointer::CFunctionPointer(class CBase *, long)
.text:775E7BE9                 mov     edi, edi
.text:775E7BEB                 push    ebp
.text:775E7BEC                 mov     ebp, esp
.text:775E7BEE                 push    esi
.text:775E7BEF                 mov     esi, ecx
.text:775E7BF1                 call    ??0CBase@@QAE@XZ ; CBase::CBase(void)
.text:775E7BF6                 mov     ecx, [ebp+pOwner]
.text:775E7BF9                 test    ecx, ecx
.text:775E7BFB                 mov     eax, [ebp+pISecurityContext]
.text:775E7BFE                 mov     dword ptr [esi], offset ??_7CFunctionPointer@@6B@ ; const CFunctionPointer::`vftable'
.text:775E7C04                 mov     [esi+10h], ecx // 設置關聯文檔對象

在設置文檔對象時,CFunctionPointer的構造函數僅僅是簡單的將其賦給[edi+10h],而沒有對其進行引用(AddRef)。

而在CFunctionPointer其他函數中幾乎都使用了該關聯文檔對象指針,例如實現IUnknown::AddRef的CFunctionPointer::PrivateAddRef,實現IUnknown::Release的CFunctionPointer::PrivateRelease。

這是CFunctionPointer::PrivateAddRef函數:
virtual unsigned long CFunctionPointer::PrivateAddRef(void)
.text:775E7A21 arg_0           = dword ptr  8
.text:775E7A21                 mov     edi, edi
.text:775E7A23                 push    ebp
.text:775E7A24                 mov     ebp, esp
.text:775E7A26                 push    esi
.text:775E7A27                 mov     esi, [ebp+arg_0] ; this
.text:775E7A2A                 mov     eax, [esi+10h] ;獲得文檔對象指針
.text:775E7A2D                 test    eax, eax
.text:775E7A2F                 jz      short loc_775E7A3D
.text:775E7A31                 cmp     dword ptr [esi+4], 0
.text:775E7A35                 jz      short loc_775E7A3D
.text:775E7A37                 mov     ecx, [eax] ;取第一個DWORD,即虛表指針
.text:775E7A39                 push    eax
.text:775E7A3A                call    dword ptr [ecx+4] ;調用+4位置給出的函數,即AddRef

例如在CFunctionPointer::PrivateAddRef中,如果文檔對象已經被銷毀,那么將獲得不可預知的虛表指針,接下來執行call dword ptr [ecx+4]后,將跳轉到一個不可預知地址去執行 ,在一般情況下會導致IE崩潰。

攻擊者可以以特定的步驟,使CFunctionPointer對象的關聯文檔對象在CFunctio nPointer對象釋放前被釋放,接著再引用該CFunctionPointer對象,致使已經被釋放的文檔對象被重新使用。

而攻擊者又可以以特殊的方式,任意設置被釋放文檔對象原來所在內存位置的數據(即可構造不正確的虛表),導致該弱點被擴大到可以被利用于執行任意代碼。

 

責任編輯:王文文 來源: 51CTO.com
相關推薦

2009-02-19 15:29:19

2010-09-15 09:24:55

2015-03-11 16:23:01

2009-10-20 09:58:38

2013-03-22 10:00:14

2013-12-11 14:51:06

2015-12-03 15:53:57

2011-04-21 15:40:52

微軟漏洞報告

2021-12-07 23:11:15

漏洞微軟谷歌

2009-09-10 09:24:47

2011-08-26 11:44:01

2021-06-18 06:21:02

微軟漏洞報告BeyondTrust

2022-08-24 08:22:39

漏洞網絡攻擊微軟

2017-10-18 15:41:54

2014-10-16 10:17:01

2018-09-19 12:53:52

微軟數據中心故障

2010-03-12 14:07:59

2013-10-09 09:27:58

2012-10-29 12:49:49

2015-10-19 13:44:48

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人av电影免费在线观看 | 中文字幕在线看人 | 久久成人av电影 | 亚洲97 | 国产精品99视频 | 正在播放国产精品 | 久久网一区二区三区 | 精产国产伦理一二三区 | 日韩插插 | 羞羞网站在线观看 | 日韩在线观看视频一区 | 亚洲国产精品成人无久久精品 | 97人人澡人人爽91综合色 | 99在线视频观看 | 国产精品久久久久一区二区三区 | 国产成人精品一区二区三区四区 | 激情的网站| 色综合久久天天综合网 | 精品国产欧美日韩不卡在线观看 | 999久久久国产精品 欧美成人h版在线观看 | 国产欧美精品一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 欧美精品1区2区3区 免费黄篇 | 一级黄色影片在线观看 | 国产精品不卡 | 最新国产视频 | 欧美成人一区二区三区 | 日本不卡一区二区三区 | 久久久精品视频一区二区三区 | 一区二区三区免费 | 欧美日韩中文国产一区发布 | 精品国产欧美一区二区三区成人 | 久久午夜视频 | 成人黄色a | 午夜不卡福利视频 | 久久精品国产免费高清 | 精品国产区| 一区二区三区四区毛片 | 特级做a爰片毛片免费看108 | 中文字幕视频一区 | 亚洲精品福利在线 |