Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。
IIS支持短文件名猜测的HTTP方法主要包括:debug、oprions、get、post、head、trace六种。
IIS 8.0之后的版本只能通过options和trace方法被猜测成功。
复现:
//返回状态码为400文件不存在
//返回状态码404文件存在
注:IIS 8.0以下版本需要开启ASP.NET
危害: 攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。
解决方案:修改注册列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem \NtfsDisable8dot3NameCreation的值为1,或者,可以直接点此下载,然后运行,再重启下机器。(此修改只能禁止 NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除),
如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 — Web 服务扩展 - ASP.NET 选择禁止此功能。
升级net framework 至4.0以上版本.
攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。
详见