扫一扫关注公众号,长期致力于安全研究
前言:该漏洞是excel在解析XLB文件时候造成的栈溢出漏洞
首先运行excel.exe,加载并导入exploit.xlb文件,windbg加载运行触发异常
0023:51455047=???????? :
有异常的是上面地址,那么载入一个正常文件追溯到函数调用处
300E19D7 E8 D1EBFFFF call EXCEL修?300E05AD
300E19DC 3BC3 cmp eax,ebx
之后函数call处下断点。跟进函数,首先提高了0X60大小的栈空间
在ESP设置一个内存写入的断点
两次F9跟到这里,其实就是rep造成的溢出
通过winhex对比成功发现数据
之后根据返回地址找到,将其改为call esp
通过查找call esp,将返回地址替换即可
之后esp+0X20到此处,此处填写shellcode即可,对照winhex,也就是shellcode需要在这填充
但是在shellcode填充完之后,有一个错误,eax的地址无法写入,根据定位得知EBP+2C的位置是eax的内容,之后会访问这个地址进行写入,所以需要将此处地址改为可用的地址。
更改为一个栈地址即可
再次运行看一下ret的情况
成功跳转到call esp处,现在esp栈顶就是shellcode
最后shellcode成功执行
下方扫一下扫,即可关注
本文始发于微信公众号(安全族):CVE-2011-0104 Microsoft Excel漏洞分析与复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论