特殊格式的图片文件可使IE拒绝服务发布时间:2002-05-20 更新时间:2002-05-20 严重程度:中 威胁程度:远程拒绝服务 错误类型:意外情况处置错误 利用方式:服务器模式 受影响系统 Microsoft Internet Explorer 6.0详细描述 将以下代码存为一个文件,无论扩展名是什么,在IE中直接请求或在HTML文件中作为图 片插入引用,都可以正常显示为一幅16x16像素的BMP图片。 #define odo_width 16 #define odo_height 16 static char odo_bits[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; 以上是对于远程文件的情况。在本地机器上打开时,文件扩展名必须是不能被浏览器显 示的,不能是 html,txt,gif,jpg 等,可以是 zip,exe,xxx 或其他未知的。可以通过 在HTML文件中作为图片插入引用。 当把 odo_width 和 odo_height的值设为一个极大的数时,IE并不检查文件的实际大小, 而是直接按照 odo_width 和 odo_height的值来申请内存,导致系统资源耗尽,最终系统会 调用DbgBreakPoint杀掉IE的进程。 在资源浏览器中预览或者作为HTML邮件查看也有类似的情况。 测试代码 将以下代码保存为IEcrash.htm,放到web目录下: #define odo_width 22222222222222222222 #define odo_height 22222222222222222222 static char odo_bits[] = { 0xFF, }; 在浏览器里输入:http://127.0.0.1/IEcrash.htm 解决方案 我们已通知了微软,微软承诺在下一个Service Pack里解决此问题。WSS 建议您不要浏 览不受信任的网站,不要用HTML方式察看邮件。在微软给出安全补丁之前暂不要使用IE浏览 器,或者关闭IE对图片的支持。 感谢: 感谢iDuba Security Team的Refdom(refdom@263.net)帮助测试。 相关信息 Author : tombkeeper Email : tombkeeper@whitecell.org HomePage: http://www.whitecell.org |