IIS 短文件/文件夹漏洞修复方法
脚本之家
近期网站系统被扫描出漏洞: IIS短文件/文件夹漏洞
相关的漏洞测试工具:https://www.jb51.net/softs/550780.html
漏洞级别:中危漏洞漏洞地址:全网站
一直在寻找一种方法,如果我可以使用通配符"*" 和 "?"发送一个请求到iis,我意识到当IIS接收到一个文件路径中包含"~"的请求时,它的反应是不同的.基于这个特点,我们可以根据http的响应区分一个可用或者不可用的文件。在以下的表中,文件validxxx.xxx是存在于网站服务器根目录的。(备注:xxx.xxx是指不确定,还需要继续猜解判断)。下图主要是不同版本的IIS返回根据请求的返回错误来判断是否存在某个文件。
举例说明如果一个IIS6网站http://www.xxx.com的短文件猜解方法。(注意一定要支持aspx,可用x.aspx判断)
请求 http://www.xxx.com/a*~1*/.aspx 返回404,就说明存在a开头的一个axxx.xxx的文件(其中xxx.xxx还需要进一步确定判断是什么字母,什么后缀)。
请求http://www.xxx.com/a*~1*/.aspx 返回400,说明不存在a开头的一个axxx.xxx的文件(其中xxx.xxx还需要进一步确定判断是什么字母,什么后缀)。
防范方法
危害级别:轻微
IIS短文件名泄露漏洞
WASC Threat Classification
描述: Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。
1.Internet Information Services(IIS,互联网信息服务)是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。
漏洞危害:攻击者可利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。
漏洞造成原因:没有禁止NTFS8.3格式文件名创建。
漏洞截图:
在网上找了很多资料都没有达到修复效果,网上有建议将.net Farrmework升级至4.0能修复此漏洞,但系统框架已为4.0版本,经扫描漏洞依然存在。
结合资料整理修复方案:
关闭NTFS 8.3文件格式的支持。该功能默认是开启的,对于大多数用户来说无需开启。
如果是虚拟主机空间用户,请联系空间提供商进行修复。漏洞描述:IIS短文件名泄露漏洞,IIS上实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举获取服务器根目录中的文件。
1、修改注册表项: (重启服务器生效)
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
值为1。
2、执行DOS命令, fsutil behavior set disable8dot3 1
3、如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 --- Web 服务扩展 - ASP.NET 选择禁止此功能。
4、升级net framework 至4.0以上版本.
5、删除现有的IIS目录重新部署,完成此步骤才能完全修复。(例如原来是wwwjb51先新建一个目录wwwjb512然后再改回wwwjb51就可以了)
将web文件夹的内容拷贝到另一个位置,比如D:\www到D:\www.back,然后删除原文件夹D:\www,再重命名D:\www.back到D:\www。如果不重新复制,已经存在的短文件名则是不会消失的。
此操作已进行安全渗透扫描,未继续发现IIS短文件漏洞。