电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CVE20121876漏洞深入分析

CVE20121876漏洞深入分析_第1页
1/21
CVE20121876漏洞深入分析_第2页
2/21
CVE20121876漏洞深入分析_第3页
3/21
CVE-2012-1876 漏洞分析报告 启明星辰安全研究团队 漏洞分析: 先来看看网上流传的能够触发漏洞的网页代码  
运行该段代码会出现如下效果 两次崩溃的地点不同,但从不同的两次崩溃中我们可以找到相同点,类似于4141 这样的数值好像都会出现。从这样的现象中可以猜测可能是堆溢出造成的。 再次查看网页代码。查看可能是哪里出现的问题。在 settimeout 里面设定了一个函数,该函数应该是最终触发漏洞的函数。很明显,在该函数中,增加了 Col 对象的 Span 值。 在 CreateElement 函数上下断点,看该网页文件到底创建了什么对象。最终发现除了HtmlElement,BodyElement 这些基本的对象之外还创建了 CTableElement,CTableColElement。这里 CTableElement 是对应的列表框对象,CTableColElement 是列表框里面的列对象。 这里的 Span 值便是列的数目。 相关结构如下 CTableLayout 对象 偏移 0x54 Spancount 偏移 0x78 CImplPtrAry 对象(Col 类型的 CTableColElement 集合) 偏移 0x90 CImplPtrAry 对象(其偏移 0xC 为 TableCol 对象的 StyleStructArray 指针) 偏移 0x138 CImplPtrAry 对象(ColGroup 类型的 CTableColElement 集合) CImplPtrAry 对象(IE 内核中频繁使用的一个对象,该对象用于存放一个可增长的数组结构) 偏移 0 CStyleSheet::CAryAutomationRules::vtable 偏移 4 NumofPointer*4(已经占用的指针数量*4) 偏移 8 AllocCount(已经申请出来内存的可存放的指针数量) 偏移 C pPointerArry(指针数组基址) PointerArry指针数组是根据需要动态申请的,一般是先通过CImplPtrAry::EnsureSize 函数查看是否需要申请内存,如果需要则通过 CImplAry::EnsureSizeWorker 申请内存。申请后的内存指针放入CImplPtrAry偏移 C处,申请后的内存能存放的指针数量放入CImplPtrAry偏移8处。 在 CTableLayout 对象中有若干个 CImplPtrAry 对象,其中比较重要的是 0x78,0...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

CVE20121876漏洞深入分析

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部