5.2、浏览器分别访问http://192.168.10.130/a*~1*/a.aspx, http://192.168.10.130/b*~1*/a.aspx


5.3、通过以上两个图片,可以看出存在一个以a开头的短文件名
5.4、按照上面的方法依次猜解可以得到http://192.168.10.130/abcdef*~1*/a.aspx,到此,已经猜解出来短文件名,到了这一步,需要考虑两种情况,以abcdef开头的是一个文件夹还是一个文件。
如果以abcdef开头的是一个文件夹,那么浏览器访问http://192.168.10.130/abcdef*~1/a.aspx,将返回404,如果abcdef开头的是一个文件,需要猜解后缀名
5.5、浏览器访问http://192.168.10.130/abcdef*~1/a.aspx,根据下图返回结果说明以abcdef开头的不是一个文件夹,而是一个文件

5.6、浏览器访问http://192.168.10.130/abcdef*~1.a*/a.aspx,根据下图返回说明该短文件后缀的第一位不是a

5.7、用a-z的26个字母依次替换上述a的位置,当替换成t时,返回404页面,说明该短文件的第一位后缀是t

5.8、按照上面的方法依次猜解得到该短文件名的后缀是txt
5.9、到此为止,已经猜解出该短文件名为abcdef~1.txt
6、根据已经猜解出来的短文件名abcdef~1.txt,继续猜解出该短文件名的完全文件名为abcdef123456.txt
7、使用IIS短文件名扫描软件,获取目标存在哪些短文件名

四、漏洞防御
1、升级.net framework
2、修改注册表键值:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。
注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。如果不重新复制,已经存在的短文件名则是不会消失的
2.1重启系统之后,在网站根目录(C:Inetpubwwwroot)下创建hhhhhhhhhhhhhhhhhhhh.txt,然后查看是否会生成短文件名。下图可以看到,没有生成短文件名,说明防御生效。

2.2、将wwwroot目录下文件复制到另一个back文件下,然后删除原wwwroot目录下所有内容,再把back下的内容重新复制到wwwroot目录下,这时重新查看,则不存在短文件名了









