首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
二进制漏洞
发新帖
0
0
[原创][分享]CVE-2012-0158分析调试
发表于: 2018-11-13 17:44
4046
[原创][分享]CVE-2012-0158分析调试
从黎明到衰落
1
2018-11-13 17:44
4046
环境: win7 32 sp3, office2010
工具: winDbg, IDA
- 样本来源《漏洞战争》
环境搭建好后开始分析:
0x01 寻找漏洞函数
1.打开world, 用winDbg附加world
2.输入'g'运行,然后用world打开poc
3.触发了崩溃
从崩溃点我们可以看到漏洞模块的信息和触发异常的地址,关于漏洞模块可以使用猜测和验证去确定哪个是漏洞模块
4.接下来查看一下函数的堆栈调用情况,发现堆栈地址已经被破坏掉了
5.用dd ESP-100 L60查看前面的堆栈
又看到了41414141这个地址,往上找一下找到了漏洞模块的返回地址(还记得刚开始我们看到的MSCOMCTL模块的加载地址吗)
6.用IDA加载漏洞模块,按‘g’在IDA里面搜索
模块函数的返回地址
0x02验证漏洞函数
然后我们需要来验证一下这个函数是不是漏洞函数
1.
重新打开office - 附加 - 下模块断点 - ‘g’
2.断下来之后再下
bp断点
3.断下来之后,需要分析一下堆栈里面的内容
发现了MSCOMCTL模块内的一个地址,用IDA查看一下是不是外层函数的返回地址
3.1.往上找一下,找到这整个函数的起始再找
这个函数的调用函数
发现这个地址确实是外层函数的返回地址
4.‘F10’单步走一下,再查看ESP
发现这个返回地址已经被修改了,验证了这个就是漏洞函数
0x03 缩小漏洞范围
用IDA静态看一下这个函数内部,同过猜测加验证得出这个memcpy是漏洞函数
1.1.鼠标选中memcpy按‘tab’键,到这个函数的汇编代码处
发现这个函数的汇编代码不是很多,可以通过单步走碰到赋值的地方就查看一下堆栈信息来确定修改返回地址的位置
- 0x04
重新打开office - 附加 - 下模块断点 - ‘g’
断下来之后,在memcpy函数处下bp断点
运行到memcpy处,‘F10’单步走,遇到有赋值的地方就查看一下函数返回地址,确定是在什么地方发生了溢出
在这行275d6c3a这行汇编代码执行完成后发生了溢出
我们来分析一下这块汇编指令
这样我们就确定了溢出点
感悟:对栈的结构要有一个清晰的认识,才会知道该去什么地方找什么内容
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于
2018-11-14 12:52 被从黎明到衰落编辑 ,原因:
上传的附件:
poc.7z
(0.72kb,14次下载)
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
1
)
Keoyo
雪 币:
292
活跃值:
(805)
能力值:
( LV6,RANK:90 )
在线值:
发帖
9
回帖
219
粉丝
20
关注
私信
Keoyo
2
2
楼
CVE2012-0158之所以经典不是因为它是一个栈溢出,而是一个很典型的由于程序员代码逻辑的失误导致的栈溢出,你再往前回溯应该可以看到一处if语句,我记得if语句里的变量应该是控制memcpy的大小的,本来这个大小应该if(size<=8),但是程序员写成了>=8,因此导致了后面的memcpy可以拷贝超过栈开辟空间大小的内容,这个代码的失误现在的角度来看可以说是很低级了,我个人认为漏洞分析还是应该分析到最本质的漏洞成因,如果只分析漏洞发生时的情况是不太完整的。楼主如果再往外回溯一层函数的话应该就能看到那处经典且低级的逻辑失误了。
感谢楼主的分享
2018-11-14 07:56
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
从黎明到衰落
1
6
发帖
38
回帖
45
RANK
关注
私信
他的文章
[原创]CTF简单算法反解
16419
[原创]新版010Edit注册机&去除网络验证
20191
[原创]CVE-2017-11882分析调试
9766
[原创][分享]CVE-2012-0158分析调试
4047
[原创]记一个简单未知壳的脱壳笔记和脚本
15958
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
无
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部