IIS 短文件名猜解漏洞复现

Posted my-bl0g

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS 短文件名猜解漏洞复现相关的知识,希望对你有一定的参考价值。

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

短文件规律:

1、前六位保留

2、所有小写字母均转换成大写字母

3、后续字符用~1表示

4、后缀最多显示三位,其余的被截断

5、长文件名前缀/文件夹名字符长度符合0-9和Aa-Zz范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件

技术图片

 

(我没有找到存在哪个特殊字符的时候不能生成短文件)

漏洞利用:根据HTTP的响应区分一个可用或者不可用的文件。访问构造的某个存在的短文件名,会返回404;访问构造的某个不存在的短文件名,会返回400(报错页面)

构造payload为:IP/要匹配的短文件/.aspx

复现过程:

(1)http://192.168.201.129/a*~1*/.aspx,返回404,说明存在a开头的短文件名

技术图片

(2)http://192.168.201.129/c*~1*/1.aspx,返回400,不存在c开头的短文件名

技术图片

 

(3)依次在a后面尝试Aa-Zz和其它字符,返回404则保留该位,直至得出六位字符。

(4)找到短文件名的前六位之后,把前面的*拿掉,老样子尝试后缀。

漏洞的局限性:

1、因为是短文件名猜解,所以只能得到短文件名,即6位;且无短文件名的文件无法猜解。

2、文件名存在空格时,短文件名会忽略空格。

技术图片

 

漏洞的解决方案:

1、升级netFramework至4.0以上版本

2、修改注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem的NtfsDisable8dot3NameCreation值为1,表示不生成短文件名,重启生效。

 技术图片

 

 注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。如果不重新复制,已经存在的短文件名则是不会消失的

所以新建一些长文件名的文件,新的文件已经不会有短文件名了

技术图片

 

萌新,大佬勿喷。

 

以上是关于IIS 短文件名猜解漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

Web中间件漏洞复现合集---IIS篇

IIS短文件名暴力枚举漏洞利用工具(IIS shortname Scanner)

文库 | Web中常见中间件漏洞总结

IIS短文件名漏洞

IIS短文件名漏洞

IIS短文件名漏洞修复