IIS短文件名漏洞修复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS短文件名漏洞修复相关的知识,希望对你有一定的参考价值。
漏洞描述:
IIS短文件名泄露漏洞,Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。
危害:
攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。
Windows 还以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。在cmd下输入“dir /x”即可看到短文件名的效果。
通配符”*” 和 “?”发送一个请求到iis,当IIS接收到一个文件路径中包含”~”的请求时,它的反应是不同的.基于这个特点,可以根据http的响应区分一个可用或者不可用的文件。如下图所示不同IIS版本返回信息的不同。
根据返回值不同判断漏洞是否存在,简单举例,www.test.com根目录下存在一个je2se.sql文件。
通过构造请求
GET /je*~1*/ HTTP1.1 根据返回404,正确的名
GET /je11*~1*/ HTTP1.1 返回400 ,错误的名
我们就判断存在II短文件漏洞,当然还有自动化扫描工具
链接如下:
https://github.com/lijiejie/IIS_shortname_Scanner
修复方法:
方法1、修改注册列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation的值为1,或者,可以直接点此下载,然后运行,再重启下机器。(此修改只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除)。该修改不能完全修复,只是禁止创建推荐使用后面的修复建议
方法2、如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 --- Web 服务扩展 - ASP.NET 选择禁止此功能。(推荐修复方法,能彻底修复)
方法3、升级net framework 至4.0以上版本。(推荐修复方法,能彻底修复)
以上是关于IIS短文件名漏洞修复的主要内容,如果未能解决你的问题,请参考以下文章