|
IE 的两个扩展名欺骗问题
Author : tombkeeper
Email : tombkeeper@whitecell.org
HomePage: http://www.whitecell.org
受影响的系统:
见漏洞描述。
描述:
(一)
在HTML文件中指定字符集iso-8859-1(或者其他拉丁字符集),并在在该文件中建立对
当前目录下可执行文件的超级链接,将此HTML文件和可执行文件放在一个包含非iso-8859-1
字符的路径中。点击链接,会提示运行还是下载,但此时出现的文件名并不是可执行文件的
名字,而是包含iso-8859-1字符目录的上一级目录名。该问题在 IE5 和 IE6 上都存在。
幸运的是此问题只对本地文件有效,不会有太大的安全问题。对远程文件也会下载到本
地,但不会有任何动作,具体表现的情况和服务器的配置有关。
测试:
C:\path>md 目录
C:\path>copy \test.exe 目录
C:\path>cd 目录
C:\path\目录>copy con test.htm
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<a href="test.exe">test</a>
^Z
C:\path\目录>start test.htm
(二)
IE5 对于长路径的支持有问题,不能正确处理大于78个字符路径。当我们向服务器请求
包含大于78个字符的路径的非可显示文件时,提示下载或者打开,显示的文件名会截去78个
字符后面的部分。这一点可以被用来欺骗用户打开恶意文件。
IE6 并不存在此问题。
测试:
在web根目录下建立一个70个字符的路径,可以是由多个目录组成:
C:\wwwroot>md this_is\a_very\lang\lang\lang\lang\lang\lang\lang\lang\lang\lang\path\
或者只是一个目录:
C:\wwwroot>md foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\
拷贝文件test.txt.exe到其中。
因为“test.txt.exe”共12个字符,当IE请求该文件时,最后四个字符“.exe”会被截
去。看到的提示就是“test.txt”。
注:由于IIS本身对长路径的支持也有问题,测试不要使用IIS作为服务器。
解决方案:
升级到IE6。
|