漏洞丨实例分析cve2012-0158

本文详细分析了CVE-2012-0158,一个影响Microsoft Office 2003 SP3的栈溢出漏洞,通过 MSCOMCTL.ListView 控件的错误检查导致缓冲区溢出。作者通过POC验证了漏洞,并在010Editor中找到疑似shellcode,通过修改跳板指令验证了溢出点。接着,作者替换shellcode实现弹窗,揭示了漏洞的关键函数及拷贝过程,指出拷贝长度的验证是关键。
摘要由CSDN通过智能技术生成

作者:黑蛋

作者:黑蛋

一、漏洞简介

CVE-2012-0158是一个office栈溢出漏洞,Microsoft Office 2003 sp3是2007年9月18日由微软公司创作的一个办公软件,他的MSCOMCTL.ocx中的MSCOMCTL.ListView控件检查失误,由于读取长度和验证长度都在文件中,这样参数可以人为修改,触发缓冲区溢出漏洞。

二、漏洞环境准备
系统版本

目标程序

调试软件

16进制编辑器

XP SP3

Microsoft Office 2003

od、x32dbg

010Editor

三、漏洞验证
这里我借用了一个帖子的POC,借用POC帖子([原创]CVE-2012-0158分析-二进制漏洞-看雪论坛-安全社区|安全招聘|bbs.pediy.com)
在XP SP3中安装office2003:

 

之后下载POC。拖到虚拟机中,用office打开,弹出个计算机(注意这个POC用一次会损坏,需要备份):

 

四、漏洞分析
首先用OD附加office,F9运行,然后用office打开POC文件(新的):

 

查看堆栈:

 

 

啥也没看出来,堆栈前后看了一下也没发现形似shellcode的东西,下了几个断点也没有,只能另寻他法!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极安御信安全研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值