漏洞描述
为兼容 16 位的 MS-DOS 程序,Windows 为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。在 Windows 下,对应的短文件名可以使用dir /x
命令来查看。如在下图中,.gitconfig
对应的短文件名为 GITCON~1
。
根据此特性,通过访问短文件名可以间接访问它对应的文件。由于短文件名的长度固定(xxxxxx~xxxx),黑客可直接对短文件名进行暴力破解,从而访问对应的文件。
例如,对应数据库备份文件backup_www.abc.com_20150101.sql
,其短文件名为 backup~1.sql
;因此黑客只要暴力破解出 backup~1.sql
即可下载该文件,而无需破解完整的文件名。
修复方案
禁用 Windows 系统中的短文件名功能。
打开注册表,并展开到如下目录
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
。将
NtfsDisable8dot3NameCreation
的值修改为1
。修改完成后,重启系统以使设置生效。