一、漏洞来由:
此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(〜)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
二、认识短文件名:
三、会产生短文件名的几种情况及特点:
1. 只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的6个字符是相同的,后面的数字进行递增。
2.后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。
3.长文件名中包含多个”.”的时候,以文件最后一个”.”作为短文件名的后缀。
4.长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件。
5.所有小写字母均转换成大写的字母。
四、NTFS8.3短文件名格式可以通过以下命令查询和开关:
查询e盘 fsutil 8dot3name query e:
关闭e盘短文件格式 fsutil 8dot3name set e: 1
五、验证效果
新建三个满足短文件名条件的文件并没有生成短文件名 ,是因为步骤三关闭了。但是之前短文件名仍然存在。
六、消除之前的短文件名
只需要将文件复制一下,然后删除原文件,最后将副本文件重命名为原文件名即可。
总结:那么IIS短文件名漏洞解决办法为如下两步:
1.关闭IIS发布目录所在的盘的短文件名格式。
2.停止IIS服务,将发布目录复制到同级目录下,然后删除原目录并将复制的副本重命名为原目录名称,最后启动IIS服务。