首页
社区
课程
招聘
[原创]Note——CVE-2010-3333
发表于: 2020-12-5 11:49 4919

[原创]Note——CVE-2010-3333

erfze 活跃值
12
2020-12-5 11:49
4919

0x01 漏洞描述

  • 漏洞成因:栈溢出漏洞。MSO.DLL在处理pFragments数组时未校验复制长度,故可构造数据造成栈溢出,劫持执行流。

  • 影响版本:Microsoft Office XP SP3, Office 2003 SP3, Office 2007 SP2, Office 2010, Office 2004 and 2008 for Mac, Office for Mac 2011。

0x02 漏洞分析

分析环境:

OS版本:Windows XP SP3

Word版本:11.0.5604.0

MSO.DLL版本:11.0.5606.0

 

使用msf生成POC:

 

图片1

 

WinDbg附加WINWORD.exe,打开POC文档,崩溃点如下:

 

图片2

 

崩溃原因是EDI指向内存区域为只读属性:

 

图片3

 

重新附加WINWORD.exebp 30e9eb88设置断点,载入POC,成功断下,查看调用堆栈如下:

 

图片4

 

IDA载入MSO.DLL,定位到0x30F4CC93位置,查看其如何传递参数:

 

图片5

 

EDI指向sub_30F4CC5D中局部变量,距离函数返回地址0x14字节,而sub_30E9EB62在执行复制操作之前并未检查长度,故可以造成栈溢出。

 

ESIsub_30D2810C返回值相关,跟进分析:

 

图片6

 

ECX值需回溯到sub_30F4CD58中:

 

图片7

 

回溯到sub_30F4CD58

 

图片8

 

回溯到此,三个参数的传递过程都已清晰,参数1:

 

图片9

 

参数2为ebp-10h,参数3为0。

 

借由WinDbg查看参数1具体值,bp 30F4CD58

 

图片10

 

bp 30F4CC73:

 

图片11

 

bp 30F4CC7D

 

图片12

 

最终传递给sub_30E9EB62三个参数如下:

 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-5 11:51 被erfze编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (4)
雪    币: 5611
活跃值: (1454)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
3
大佬,这个截图上的箭头很好看,请教一下用的什么工具
2020-12-27 16:29
0
雪    币: 1338
活跃值: (9491)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
4
从黎明到衰落 大佬,这个截图上的箭头很好看,请教一下用的什么工具[em_3]
FastStone Capture
2020-12-27 22:24
0
雪    币: 5611
活跃值: (1454)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
erfze FastStone Capture
感谢感谢~~
2020-12-29 14:44
0
游客
登录 | 注册 方可回帖
返回