码迷,mamicode.com
首页 > 其他好文 > 详细

IIS 短文件名猜解漏洞复现

时间:2020-05-02 18:49:52      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:ram   sdi   ati   ntc   移除   页面   nbsp   tco   windows   

漏洞介绍:为了兼容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_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem的NtfsDisable8dot3NameCreation值为1,表示不生成短文件名,重启生效。

 技术图片

 

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

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

技术图片

 

萌新,大佬勿喷。

 

IIS 短文件名猜解漏洞复现

标签:ram   sdi   ati   ntc   移除   页面   nbsp   tco   windows   

原文地址:https://www.cnblogs.com/mY-bL0g/p/12818783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!