《Web安全测试学习手册》- IIS短文件名漏洞
0x00 IIS短文件名漏洞
1)什么是IIS短文件名漏洞
IIS短文件名是一个Windows系统为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。当这种特性被IIS中间件继承后,我们就可以使用短文件名进行目录猜解。
2)IIS短文件名漏洞的特点
- 利用难度低
- 会产生很多请求
0x01 IIS短文件名漏洞 - 风险等级
低
0x02 IIS短文件名漏洞 - 原理
当我们访问一个长名称目录的时候:http://192.168.1.1/administrator
这个administrator
目录可以根据Windows 8.3格式简写为admini~1
根据这个上述格式,我们访问/admini~1
也可以相当于访问administrator
0x03 服务器端目录遍历 - 常见场景
- IIS 中间件
0x04 测试方案
方案一
使用IIS_shortname_Scanner
命令:
- git clone https://github.com/lijiejie/IIS_shortname_Scanner.git
- cd IIS_shortname_Scanner
- python iis_shortname_Scan.py http://target
方案二(需服务器权限)
执行命令(管理员权限):
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\ /v "NtfsDisable8dot3NameCreation"
-----------------------------------------------------------------
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
NtfsDisable8dot3NameCreation REG_DWORD 0x0
若NtfsDisable8dot3NameCreation
是0x0
,存在此漏洞
0x05 修复方案
通用方案
执行命令(管理员权限):
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\ /
v "NtfsDisable8dot3NameCreation" /t REG_DWORD /d 1 /f
Windows Server 2008 R2
查询是否开启短文件名功能:fsutil 8dot3name query
关闭该功能:fsutil 8dot3name set 1
Windows Server 2003
关闭该功能:fsutil behavior set disable8dot3 1
最后
重启服务器