-
-
[原创][推荐]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
=
????????
赞赏
- [讨论]了解一下吕鑫老师C++线下 10976
- [讨论]聊聊目前我的现状 7639
- [讨论]想做漏洞方向,师傅们推荐一下哇 5823
- [讨论]本人想去参加15p那个培训,有无建议各位大佬 23274
- [讨论]学pwn可以做啥 7574