Microsoft Office2003(CVE-2012-0158)漏洞分析报告

该博客详细分析了Microsoft Office 2003中 MSCOMCTL.OCX 组件的CVE-2012-0158漏洞,涉及漏洞原理、成因、利用过程,并展示了利用漏洞的动态分析和结果。漏洞主要由栈内存拷贝溢出导致,可通过构造特定文档触发,影响包含ActiveX控件的Office文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件名称:Microsoft Office
软件版本:2003
漏洞模块:MSCOMCTL.OCX
POC来源:Kail(Linux)Metasploit框架
操作系统:Windows 7\sp1\x86 32位
漏洞编号:CVE

0x01 漏洞原理

关于本漏洞原理,网上有各种分析文章,一般都基于实例样本来定位漏洞的二进制代码并分析原理,这里不作详细的分析过程,直接给出漏洞成因,后面也有少部分的调试演示。这个漏洞发生在office的一个组件MSCOMCTL.OCX,多个版本office的该模块都存在这个漏洞,本文的测试环境均以WINDOWS+office2003为例。MSCOMCTL.OCX这个漏洞模块是office解析activeX控件用到的一个动态库,如果一个office文档中包含activeX这类控件元素的话,比如按钮、列表、树形控件等,当文档通过office打开时MSCOMCTL.OCX就会被自动载入office程序的进程空间被调用来解析和显示控件。
本漏洞属于经典缓冲区溢出漏洞里的栈内存拷贝溢出漏洞,当office解析到一个被构造好的控件(以ListView列表控件为例),会发生栈内存越界拷贝。以下栈回溯示意图可以代表本漏洞的发生过程:

0x02 漏洞成因

栈内存拷贝溢出漏洞,控件安全检查不严
综上可以得出漏洞成因是在读取数据的时候,读取的长度和验证的长度都在文件中,且可以人为修改,进而出发缓冲区溢出

0x03 利用过程

proc溢出点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值