首页
社区
课程
招聘
[原创][推荐]CVE-2011-0104漏洞分析
发表于: 2021-8-5 09:19 12846

[原创][推荐]CVE-2011-0104漏洞分析

2021-8-5 09:19
12846

1. 漏洞简述
CVE-2011-0104是Excel在解析XLB文件造成的栈溢出漏洞
•漏洞名称:CVE-2011-0104栈溢出漏洞
•漏洞编号:CVE-2011-0104
•漏洞类型:栈溢出
•漏洞影响:任意代码执行
•利用难度:simple
•基础权限:不需要
2. 组件概述
excel表格,xlb文件是个设置文件
3. 漏洞利用
通过覆盖xlb文件的数据,在excel解析的时候造成栈溢出
4. 漏洞影响
操作系统:Windows XP SP3
漏洞文件:Office Excel 2003 SP3中文版
5. 解决方案
官网已经提供补丁,或者换最新版的软件
二、漏洞复现

1. 环境搭建
Windbg,OD
漏洞软件:Office Excel 2003 SP3中文版
2. 复现过程
首先运行excel.exe,加载并导入exploit.xlb文件,windbg加载运行触发异常

有异常的是上面地址,那么载入一个正常文件追溯到函数调用处,
0X300E19DC即返回地址,通过这个返回地址可进行查找到函数调用处
函数调用
跟到返回地址的地方如下:

之后在300E19D7处下断点,F7单步跟进,首先提高了0X60大小的栈空间
图片描述

在ESP设置一个内存写入的断点,看看是哪里进行了写入
图片描述

两次F9跟到这里,其实就是rep造成的溢出
图片描述

通过winhex对比成功发现数据
图片描述

之后根据返回地址找到,将其改为call esp
图片描述

通过查找call esp,将返回地址ESP替换即可
图片描述
直接esp+0X20到此处,此处填写shellcode即可,对照winhex,也就是shellcode需要在这填充
图片描述
但是在shellcode填充完之后,有一个错误,eax的地址无法写入,根据定位得知EBP+2C的位置是eax的内容,之后会访问这个地址进行写入,所以需要将此处地址改为可用的地址。
图片描述
更改为一个栈地址即可
图片描述
再次运行看一下ret的情况
图片描述
成功跳转到call esp处,现在esp栈顶就是shellcode
图片描述
最后shellcode成功执行
图片描述

五、参考文献
漏洞战争(P51)

 
300e06f7 8908 mov  dword ptr [eax],ecx ds:0023:51455047=????????

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//