MS09-002 IE7 漏洞原理分析
微软公司在北京时间2月11日发布了MS09-002漏洞的安全更新程序,3AST安全实验室反病毒监测网发现利用此漏洞的攻击代码已经被发布到互联网上,如果用户没有及时安装补丁,则存在漏洞的IE7浏览器可能会在浏览网页时被病毒入侵,3AST安全实验室提醒用户在上网时务必安装微软MS09-002漏洞补丁,以免遭受恶意病毒攻击。[url=http://www.3ast.com.cn/][color=#0000ff]3AST安全实验室[/color][/url]在第一时间对MS09-002 IE7漏洞进行了原理分析,分析报告如下。
MS09-002漏洞与去年的MS08-069漏洞原理类似,同时该漏洞也是发生在IE7使用的MSHTML.dll中,当文档对象释放掉后,内存指针没有被释放,继续利用,而这个指针被人为指向了一段堆地址,而如果这段地址被 ShellCode 覆盖过的话,调用这个指针就会导致有溢出。
攻击利用代码
[img=554,540]http://www.3ast.com.cn/cn/security/img/20090220-02.jpg[/img]
从代码中看到创建了对象O1,cloneNode从文档层次中复制对象的引用给O2,这时O1.clearAttributes从对象中删除全部标签属性和值。再次调用click属性指针,该指针被指向到Shellcode的位置导致溢出发生。
[img=554,238]http://www.3ast.com.cn/cn/security/img/20090220-01.jpg[/img]
这是从调试器中看mshtml.dll中释放对象后再次利用这个对象的指针EAX,该ECX中的值为0x0B0BFFFF,即跳转到shellcode的地址。由于文档对象已经被销毁,接下来执行call dword ptr [ecx+4]后,将跳转到一个0x0B0BFFFF+4位置执行,该位置被设置成shellcode的代码,这个位置是被释放文档对象原来所在内存位置。
说明:
当安装有IE7的用户浏览被攻击者特殊构造的网页时,系统有可能会自动从恶意网站上下载并运行恶意程序。被感染病毒的用户系统可能被远程控制,盗取用户敏感信息。甚至导致死机。
漏洞信息:
1.未初始化的内存损坏漏洞 – CVE-2009-0075
Internet Explorer访问已被删除的对象的方式中存在一个远程执行代码漏洞。攻击者可以通过构建特制的网页来利用该漏洞。当用户查看网页时,该漏洞可能允许远程执行代码。成功利用此漏洞的攻击者可以获得与登录用户相同的用户权限。
2.CSS 内存损坏漏洞 - CVE-2009-0076
Internet Explorer处理级联样式表(CSS)的方式中存在一个远程执行代码漏洞。攻击者可以通过构建特制的网页来利用该漏洞。当用户查看网页时,该漏洞可能允许远程执行代码。成功利用此漏洞的攻击者可以获得与登录用户相同的用户权限。
关于MS09-002漏洞的详细信息参照:
[url=http://www.microsoft.com/china/technet/security/bulletin/MS09-002.mspx][color=#0000ff]http://www.microsoft.com/china/t ... letin/MS09-002.mspx[/color][/url]
更新补丁地址:
[url=http://support.microsoft.com/kb/961260][color=#0000ff]http://support.microsoft.com/kb/961260[/color][/url] 呵呵。。不知道咋利用。。。。。。
页:
[1]