CVE-2012-1876 Win7 IE9 堆溢出漏洞 EXP详解与x64平台分析

需积分: 0 0 下载量 161 浏览量 更新于2024-07-01 收藏 5.69MB PDF 举报
本文主要探讨的是CVE-2012-1876漏洞,这是一个针对Microsoft Windows系统,尤其是Windows 7中的IE9浏览器的0day(零日)漏洞。在2012年的Pwn2Own黑客大赛中,安全团队Vupen成功利用这两个漏洞,其中一个是涉及堆溢出的提权漏洞,这使得他们赢得了高额奖金。Vupen选择公开其中一个漏洞并将其提交给微软,但未公开绕过IE沙箱的漏洞,推测可能通过售卖获取了更大的经济利益。 文章的重点不在于漏洞成因的深入分析,而是详细讲解了漏洞利用的EXploitation (EXP)的编写过程。作者强调,对于想要理解和编写此类EXP的人来说,最好先参考提供的链接,了解基础知识。文章着重于指导如何编写EXP,包括代码结构和逻辑,特别关注了x86和x64平台的差异性。 在漏洞的PoC (Proof of Concept)部分,作者解释了漏洞是如何产生的。初始情况下,页面上的span设置为1,请求的内存空间为0x70。当用户触发特定事件时,如点击JavaScript函数,span被修改为1000,导致内存分配超出预期,从而引发堆溢出。提供的PoC代码展示了这一过程,包含HTML结构和嵌入的JavaScript代码。 运行PoC后,观察到的结果表明出现了访问违反(Access Violation),通常表现为代码执行错误(code 0xc000005,即Segmentation Fault),这是堆溢出的典型迹象。 文章后续可能会进一步分析堆溢出的细节,包括攻击向量、exploit chain(利用链)、payload的选择与构造,以及如何通过精心设计的EXP在x86和x64平台上实施攻击。此外,还可能讨论了作者提到的x64平台EXP改进和存在的问题,这些内容对于理解漏洞利用技术以及如何在不同架构上进行安全防御具有重要价值。这篇文章为读者提供了一个深入理解CVE-2012-1876漏洞利用技术的实用指南。