包含畸形注释的HTML文件可使IE 5.0以上版本崩溃

/ns/ld/win/data/20011103003435.htm

发现者:tombkeeper@126.com
发现时间:2001.10.30

主页:www.whitecell.org

描述:
IE 5.0以上版本及使用IE内核的应用程序在解析包含畸形注释的HTML文件时会崩溃

影响系统:
所有Windows系统,IE 5.0以上版本及使用IE内核的应用程序

详细:
5.0以上版本的IE在保存网页文件时会自动在文件中加入类似下面的注释:
<!-- saved from url=(0020)http://www.someHost.com -->
其中“0020”表示是从首页上保存的,不同的数字表示不同的位置。IE对于大多数HTML
中的注释是不做解析的,而唯独设法读取这一行注释的信息。进一步的分析可知在IE中
这个数字的变量名是“%04d”,正常情况下IE会作出如下解析“url=(%04d)”,当缺乏
"("时就会解析为“url=0x00%04d)”最终导致边界问题,在90%以上的情况下都会发生
程序的崩溃,但并不会引起缓冲溢出或更进一步的安全问题。

通过IE内核处理HTML文件的其它应用程序,包括一些邮件程序也受到影响,会发生
崩溃。

此问题本身只能作为一种D.O.S.攻击,并不会引起非授权访问类的严重安全问题,
但由于应用程序出错时会将内存镜像转储为Everyone可读的文件,其中会包含很多敏感
信息,最终可能会导致严重后果,具体参见拙作《drwtsn32.exe故障转储文件默认权限
设置不当》

测试:
在任意的HTML文件或HTML邮件中添加如下代码:
<!-- saved from url=)http://ie.will.crash -->

解决方案:
微软尚未对此做出反应。
在可用的补丁出来之前,可采取以下措施:
1、不要以HTML方式查看邮件。
2、改用IE 5.0以下版本,或其他网络浏览器。
3、参考《drwtsn32.exe故障转储文件默认权限设置不当》防止进一步的安全问题。