《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

0x02

方案二(需服务器权限)

执行命令(管理员权限):


reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\ /v "NtfsDisable8dot3NameCreation"

-----------------------------------------------------------------
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    NtfsDisable8dot3NameCreation    REG_DWORD    0x0

NtfsDisable8dot3NameCreation0x0,存在此漏洞

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

最后

重启服务器