IIS短文件名泄露漏洞

发布时间 2023-05-31 20:38:21作者: 挖洞404

1、windows的短文件名机制

(1)介绍

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。

dir /x
  • 列出当前目录的子目录和文件,以及相应的8.3兼容名称(如果有的话)
  • win10,默认是没有开启8.3兼容特性,无法显示短文件名

(2)命令

fsutil behavior query disable8dot3    检查NTFS驱动是否开启8.3兼容特性
fsutil behavior set disable8dot3 1    关闭8.3兼容特性
fsutil behavior set disable8dot3 0    开启8.3兼容特性
fsutil file setshortname <longname> <8.3name>  手工指定一个8.3短名称

 (3)短文件名特征

短文件名的长度固定(xxxxxx~xxxx),因此黑客可直接对短文件名进行暴力破解,从而访问对应的文件。

举个例子,有一个数据库备份文件 backup_www.abc.com_20190101.sql,它对应的短文件名是 backup~1.sql 。因此黑客只要暴力破解出 backup~1.sql 即可下载该文件,而无需破解完整的文件名。

短文件名有以下特征:

1)   只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)。

2)   后缀名最长只有3位,多余的被截断。

3)   访问构造的某个存在的短文件名,会返回404

4)   访问构造的某个不存在的短文件名,会返回400

2、漏洞介绍

漏洞影响版本:IIS 5.0-10.0全系列版本

IIS短文件名泄露漏洞 - FreeBuf网络安全行业门户