一、漏洞描述
此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
二、漏洞原理
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
漏洞成因:
为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。
在Windows下查看对应的短文件名,可以使用命令dir /x
短文件名特征:
1.只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的6个字符是相同的,后面的数字进行递增
2.后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。
3.所有小写字母均转换成大写的字母
4.长文件名中包含多个”.”的时候,以文件最后一个”.”作为短文件名的后缀
5.长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件。
三、漏洞环境搭建及漏洞复现
1、 测试环境为windows server 2003 r2,开启webdav服务和net服务。
2、使用payload验证目标是否存在IIS短文件名漏洞,下图显示的404,说明目标存在该短文件名
Payload: http://192.168.10.130 /*~1*/a.aspx
http://192.168.10.130/ttt*~1*/a.aspx
注:*可以匹配n个字符,n可以为0
3、浏览器访问一个不存在的短文件名,返回”Bad Request(400)”,说明目标不存在该短文件名
4、通过浏览器访问上面两个payload,根据返回的结果,可以说明目标存在IIS短文件漏洞
5、判断漏洞存在后,接下来手工详细分析猜解IIS短文件名原理
5.1、在网站根目录(C:/Inetpub/wwwroot)下创建一个abcdef123456.txt文件
新闻热点
疑难解答
图片精选