分享好友 系统运维首页 频道列表

IIS短文件名漏洞 IIS主要漏洞

win服务器  2023-02-10 03:140

Internet Information Services(IIS,互联网信息服务)是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。

危害:攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。

二、 漏洞成因

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。

在Windows下查看对应的短文件名,可以使用命令 dir /x

IIS短文件名漏洞

如上图,Downloads对应的短文件名为DOWNLO~1。根据此特性,我们能够通过访问短文件名间接访问它对应的文件。

由于短文件名的长度固定(xxxxxx~xxxx),因此黑客可直接对短文件名进行暴力破解,从而访问对应的文件。

举个例子,有一个数据库备份文件 backup_www.abc.com_20190101.sql,它对应的短文件名是 backup~1.sql 。因此黑客只要暴力破解出 backup~1.sql 即可下载该文件,而无需破解完整的文件名。

短文件名有以下特征:

1)   只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)。

2)   后缀名最长只有3位,多余的被截断。

3)   访问构造的某个存在的短文件名,会返回404

4)   访问构造的某个不存在的短文件名,会返回400

三、 漏洞的利用

漏洞的利用,需要使用到通配符。在windows中,可以匹配n个字符,n可以为0.判断某站点是否存在IIS短文件名暴力破解,构造payload,分别访问如下两个URL:

1. http://www.xxx.com/*~1****/a.aspx

2. http://www.xxx.com/1234*~1****/a.aspx

这里使用了4个星号,主要是为了程序自动化猜解,逐个猜解后缀名中的3个字符,实际上,一个星号与4个星号没有任何区别(上面已经提到,*号可以匹配空)。

如果访问第一个URL,返回404,

IIS短文件名漏洞

而访问第二个URL,返回400,

IIS短文件名漏洞

则目标站点存在漏洞。

判断漏洞存在后,继续猜解目录下是否存在一个a开头的文件或文件夹,访问:

http://www.xxx.com/a*~1****/a.aspx

如果存在,将返回404。

如此反复,不断向下猜解完所有的6个字符。

猜解完之后,得到的序列应该类似:

http://www.xxx.com/abcdef*~1****/a.aspx

到了这一步,需要考虑两种情况,如果以abcdef开头的是一个文件夹,则

http://www.xxx.com/abcdef*~1/a.aspx

将返回404.

如果abcdef开头的是一个文件,则自动提交

http://www.xxx.com/abcdef*~1*g**/a.aspx

用a-z的26个字母替换上述g的位置,应该能得到多个404页面。(记住一点,404代表的是存在。)如果下面的地址返回404,

http://www.xxx.com/abcde*~1*g**/a.aspx

则代表扩展名中肯定存在g。

按照上面的思路,继续猜解g后面的字符,直到后缀名中的3个字符都猜解完,就可以了。

以上介绍了怎么手工猜解,这个漏洞的意义何在:

1)   猜解后台地址

2)   猜解敏感文件,例如备份的rar、zip、.bak、.SQL文件等。

3)   在某些情形下,甚至可以通过短文件名web直接下载对应的文件。比如下载备份SQL文件。

四、 漏洞的局限性

这个漏洞的局限有几点:

1)   只能猜解前六位,以及扩展名的前3位。

2)   名称较短的文件是没有相应的短文件名的。

3)   需要IIS和.net两个条件都满足

五、 解决方法

(一)    关闭NTFS 8.3文件格式的支持。该功能默认是开启的,对于大多数用户来说无需开启。

(二)    如果是虚拟主机空间用户,可采用以下修复方案:

1)  修改注册列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation的值为1(此修改只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除)。

2)  如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 — Web 服务扩展 – ASP.NET 选择禁止此功能。

3)  升级net framework 至4.0以上版本。

(三)    将web文件夹的内容拷贝到另一个位置,比如D:\www到D:\www.back,然后删除原文件夹D:\www,再重命名D:\www.back到D:\www。如果不重新复制,已经存在的短文件名则是不会消失的。

(四)    对于虚拟主机空间用户,如果还不能彻底修复该问题,可以联系空间提供商协助修改。

 

转载至原文链接:https://www.freebuf.com/news/197144.html

查看更多关于【win服务器】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Server Application Error IIS密码不同步 MS DTC 事务管理器启动失
最近电脑出了一系列的问题,IIS能启动,但是不能正常访问.提示错误.记得没事养成看系统日志的习惯,先看系统日志有一些红色的叉叉,出现的频率非常高.MS DTC 事务管理器启动失败。LogInit 返回错误 0x2。具体的是什么服务,我就不写了,百度一下非常多. 我想出现这

0评论2023-03-08806

Visual Studio-IIS Express 支持局域网访问配置
转自:http://www.itnose.net/detail/6132793.html注意:本人测试后,发现个问题,不知是我个人的VS问题还是普遍的。就是将配置文件中的新增的节点注释后,会导致页面调试的时候很难加载,一直转圈,出不来。痛苦使用Visual Studio开发Web网页的时候有这样的

0评论2023-03-08803

IIS中实现http自动转换到https
IIS中实现http自动转换到https修改以下文件:C:\WINDOWS\Help\iisHelp\common\403-4.htm 为以下内容!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"HTMLHEADTITLE该页必须通过安全通道查看/TITLEMETA HTTP-EQUIV

0评论2023-02-10973

错误">IIS 发布网站出现<compilation debug="true" targetFramework="4.6.1">错误
参考:http://www.mamicode.com/info-detail-1180214.html原因是环境只安装到.net Framework 4.5 的版本(.net版本向下兼容 )解决方案:升级.net Framework修改为compilation debug="true" targetFramework="4.5"

0评论2023-02-10621

在IIS上部署ASP.NET Core项目出现错误 500.19
安装AspNetCoreModule托管模块

0评论2023-02-10891

IIS8.5中的强制https直接修改web.config文件和***域名跳转www和过滤子目录不强制跳转
亲测可用?xml version="1.0" encoding="UTF-8"?configurationsystem.webServerrewriterulesrule name="301Redirect" stopProcessing="true"match url="(.*)" /conditions logicalGrouping="MatchAny"add input=&quo

0评论2023-02-10888

IIS中的 MIME类型
IIS中的 MIME类型 John Meade, 网络技术作家 Internet信息服务文档小组 微软公司目录 介绍使用 MIME表格向IIS 4.0加入 MIME类型向IIS 5.0加入MIME类型在ASP页面中声明一个MIME类型表格: IIS 中的MIME格式,按照扩展名顺序表格: IIS种的MIME格式, 按照类型/子

0评论2023-02-10422

让IIS Express支持Json文件
  同事在做一个web系统的二级联动时将联动数据保存在一个Json文件中,当他将代码提交后,到我机子上运行时总是报该文件404错误,反复检查路径以及权限并没有问题。将问题反馈给他时,他表示在他机子上的本地IIS上运行并没有什么问题。。。等等,本地IIS,而

0评论2023-02-10545

IIS提示‘另一个程序正在使用此文件,进程无法访问’
关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法:IIS中网站服务所占用的是80端口,出现这样的提示我们可以判定是端口冲突造成的,故,查看真正运行的占用80端口的程序,在“运行”输入“cmd”,进入命令行,

0评论2023-02-10407

IIS自动安装程序(免费) iis完整安装包
本文转载:http://www.cnblogs.com/cunet/archive/2008/10/31/1323896.html IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何着手,且安装过程繁琐,易出错,还需要操作系统安装光盘。为了尽可能简化IIS的安装,蓝点软件于2008年10月研究制作

0评论2023-02-10497

ASP.NET页面与IIS底层交互和工作原理详解 (二)
第三回: 引言 Http 请求处理流程 和 Http Handler 介绍这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进行处理(应该记得Page类实现了IHttpHandler)。从Http 请求处理流程一文的最后的

0评论2023-02-10309

IIS文件夹权限
通过控制文件夹权限来提高站点的安全性。这一篇权限设置包括二个方面,一个是系统目录、盘符的权限,一个是应用程序的上传文件夹权限设置。系统目录确保所有盘符都是NTFS格式,如果不是,可以用命令 convert d:/fs:ntfs 转换为NTFS格式。所有磁盘根目录只给sy

0评论2023-02-10338

更多推荐