CVE-2012-0158漏洞分析记录

漏洞描述

   该漏洞发生在office 2003 sp3  mscomctl.ocx模块中,在拷贝一段内存数据,由于拷贝条件逻辑错误,造成的栈缓冲区溢出。

分析环境
win7专业版
软件:office 2003
分析工具:od,ida

漏洞分析过程:
1.获取poc:
网络,论坛, Metasploit
https://www.exploit-db.com/
https://www.securityfocus.com/
2.搭建漏洞环境:
安装office 2003 sp3 ,执行poc(在执行的时,需要关闭OD的异常忽略)
3.漏洞复现:
执行poc效果:office 2003崩溃,函数返回地址被覆盖
在这里插入图片描述

在这里插入图片描述
漏洞触发具体分析
调试漏洞,定位漏洞触发点,分析漏洞成因
1.定位漏洞触发模块,通过日志,可以发现触发异常的模块为mscomctl.ocx。
在这里插入图片描述
1.2通过观察函数栈帧布局,栈回溯定位触发漏洞的函数
在这里插入图片描述
2.定位触发漏洞的函数
在这里插入图片描述
2.2使用IDA静态分析触发漏洞的函数
通过od模块窗口找到触发漏洞的模块的路径,使用IDA,通过g指令找到触发漏洞的函数进行分析
在这里插入图片描述
3.漏洞成因分析
在这里插入图片描述
使用OD,动态调试可以看出,造成该漏洞的原因是由于程序员粗心,将一个简单的判断的条件写反了。

漏洞利用
确定好溢出地址,就可以构建自己想要的Shellcode:
注意:1.函数返回会平衡堆栈,Shellcdoe因该在平衡堆栈地址之后,jmp esp
2.绕过DEP可以采用在程序中搜索跳板指令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值