首页
社区
课程
招聘
[原创]cve-2012-0158漏洞分析与利用
发表于: 2020-3-1 10:38 6188

[原创]cve-2012-0158漏洞分析与利用

2020-3-1 10:38
6188

Metasploit

https://www.exploit-db.com/

https://www.securityfocus.com


四:漏洞复现:

首先启动WORD,然后打开OD,附加WORD;


然后用WORD打开poc文件,此时会触发漏洞,观察OD;此时eip已被修改位41414141,观察堆栈情况,可以看出栈中的函数返回地址被修改位41414141;堆栈上方观察到一个来自MSCOMCTL模块的地址,反汇编窗口跟随查看;


根据反汇编窗口函数指令,找到函数起始位置下断点,然后F8动态调试,同时观察堆栈情况,找到触发栈溢出的指令或Call的调用;


经过F8动态调试分析,发现执行完CALL MSCOMCTL.275C876D 函数后,堆栈中函数返回地址被修改,说明这个函数内部触发了栈溢出;


用010Editor打开poc文件定位到414141位置;并结合OD的堆栈情况和IDA对 MSCOMCTL.275C876D 函数的分析,可以看出poc文件中的8282是缓冲区长度。此值设置过大导致下面调用qmemcpy函数发生溢出;



五:漏洞利用

我们将上述41414141改为jmp esp指令的地址,同时调用溢出函数的函数平衡堆栈时有ret 8,所以shellcode的起始位置应如下图所示:


接下来用WinDbg通过指令“!py mona.py jmp -r esp”来搜索合适的跳板指令;如图所示,这里我们选择0x729a0535作为跳板指令;


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 2
支持
分享
最新回复 (4)
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
感谢分享啊啊
2020-3-1 15:06
0
雪    币: 27
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
没有师傅带一带,看着全是一片白,晕头转向啊。
2020-3-5 13:41
0
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2020-3-11 12:53
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2020-3-12 15:44
0
游客
登录 | 注册 方可回帖
返回
//