首页
社区
课程
招聘
[原创]当gflag不“奏效”——CVE-2013-0077 Microsoft DirectShow quartz.dll m2p文件堆溢出漏洞
发表于: 2017-8-19 11:01 6612

[原创]当gflag不“奏效”——CVE-2013-0077 Microsoft DirectShow quartz.dll m2p文件堆溢出漏洞

2017-8-19 11:01
6612

作者原文:https://security.tencent.com/index.php/blog/msg/15

这个是漏洞战争里面的例子,搜了一下没人写,自己实践过程中没能像作者那样开启htc,开启hpa后一步到达相应位置,而我开启后没能预期那样,所以写下此文

首先exploitdb搜了一下,poc在下面,软件也给了 https://www.exploit-db.com/exploits/21991/

注:可能文章中有各种错误的描述,请大佬们势必指出

poc也贴上

xp sp3

quartz.dll 版本:6.5.2600.5596

windbg

注:其实调试过程中遇到过很多奇葩的异常,没有一一列出

首先对qq播放器开启堆尾检查

windbg附加运行,打开文件没异常,应该是quartz.dll版本过高了6.5.2600.6333,换个虚拟机 作者是6.5.2600.5596,发现吾爱破解的虚拟机刚好是这个版本

首先再次确认一下gflag

what???怎么跟作者的不一样,查看堆栈也没啥,那我尝试关掉htc看看结果如何,gflag为0,发现异常位置也是不一样

还有一个,那我们只开hpa情况又会怎么样呢,怎么跟作者什么都没开一样

那时的我有那么几秒钟是崩溃的,很多时候就是那么几秒钟决定了你是继续下去,还是放弃

那我用最原始的办法,看看汇编下面的eax怎么来的,针对开了

在前面的eax赋值地方下个断点

可以看到这里esi指向的堆的大小等字段被覆盖成4141了,那是什么时候覆盖的呢

我们在前面esi赋值的地方下断点

我们发现此时还没被覆盖


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
兄弟,我的错误出现在rep mov [edi], [esi]那个位置的时候,输入!heap -p -a edi没有任何反应,而且我在进程堆里,也没有看到edi所在堆块,你有遇到这个情况吗?
2018-7-29 22:23
0
雪    币: 413
活跃值: (274)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
洛燕 兄弟,我的错误出现在rep mov [edi], [esi]那个位置的时候,输入!heap -p -a edi没有任何反应,而且我在进程堆里,也没有看到edi所在堆块,你有遇到这个情况吗?
你开了hpa了吗
2018-7-30 21:44
0
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
giantbranch 你开了hpa了吗
开了啊,这是+hpa之后的windbg运行截图
2018-8-3 21:53
0
游客
登录 | 注册 方可回帖
返回
//