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全系列版本