当前位置 主页 > iis相关 >

    IIS短文件名的漏洞详解

    栏目:iis相关 时间:2018-08-28 16:22

      一、漏洞的成因
     
     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两个条件都满足。