Advanced Exploitation of Internet Explorer Heap Overflow(MS12-004)
翻译:Advanced Exploitation of Internet Explorer Heap Overflow Vulnerabilities (MS12-004)
题注:由仙果翻译,其中肯定有错误之处,欢迎大家指正,感激不尽。
原始链接为:
http://www.vupen.com/blog/20120117.Advanced_Exploitation_of_Windows_MS12-004_CVE-2012-0003.php
嗨,大家好!
2012年刚刚开始CVE上就爆出了很多有趣的漏洞。其中一个就是CVE-2012-0003,一个危急级别的漏洞影响到了微软多媒体库并且与MIDI文件处理流程有关。在上个星期已经作为MS12-004公告的一部分进行修补。
鉴于此漏洞的危急程度,我们建议尽快打上补丁。
从维基百科上,我们能知道:“MIDI 是一个1982年制定的行业标准协议”,基本上在它制定30年后,这种格式仍然触发像微软这样的软件厂商的漏洞。
单独来说,这种漏洞非常常见但是漏洞利用并不容易,像Windows Media Player 或者Internet Explorer这样的应用程序解析一个MIDI文件时,
分配一个静态的堆缓冲区但写入却是超过0x440个字节(漏洞触发原因)。为了处理如此大的分配大小,Internet Explorer下通用的利用技巧并不适用这个漏洞,
这才是真正有挑战性的事情。
此博客中,我们将演示说明此漏洞的危急程度,通过Internet Explorer 9/8/7/6绕过ASLR/DEP实现代码执行。
1.漏洞分析技巧
这是漏洞的关键点。一个MIDI文件只要包含2种类型结构块,一个名称是MThd,另一个是MTrk。下列表格是2个部分的结构:

处理文件之前,Windows Media 在”winmm.dll”中使用”mseOpen”函数分配2个缓冲区:
注意:上传附件及图片大小不得大于30M。
⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。
