1.1.1  漏洞描述

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。 在Windows下查看对应的短文件名,可以使用命令 dir /x

只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)。后缀名最长只有3位,多余的被截断。我们可以在启用.net的IIS下暴力列举短文件名,原因是:

访问构造的某个存在的短文件名,会返回404

访问构造的某个不存在的短文件名,会返回400

1.1.2  漏洞测试

1.1.3  漏洞利用

1.1.4  漏洞修复

通用有效方法:

禁用windows系统中的短文件名功能。

打开注册表并打开此目录 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

修改 NtfsDisable8dot3NameCreation 的值为1 。

修改完成后,需要重启系统生效。

2)简单有效方法:CMD命令

Windows Server 2008 R2

查询是否开启短文件名功能:fsutil 8dot3name query

关闭该功能:fsutil 8dot3name set 1

Windows Server 2003

关闭该功能:fsutil behavior set disable8dot3 1

3)手动验证

新建文件夹并创建几个文件,打开CMD进入该文件夹呢执行dir /x 检测,看不到有显示短文件名则成功。

注: 1.Windows Server 2003修改后需要重启服务器生效!

2.已存在的文件短文件名不会取消,只对以后创建的文件有效!

3.WEB站点需要将内容拷贝到另一个位置,

如D:\www到D:\www.back,然后删除原文件夹D:\www,再重命名D:\www.back到D:\www。

如果不重新复制,已经存在的短文件名则是不会消失的。

【中间件】IIS短文件名枚举漏洞的更多相关文章

  1. IIS短文件名泄露漏洞危害及防范方法

    危害级别:轻微 IIS短文件名泄露漏洞 WASC Threat Classification 描述: Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件 ...

  2. IIS短文件名泄露漏洞危害及防范方法(转)

    攻击方法(转自http://blog.sina.com.cn/s/blog_64a3795a01017xqt.html) 一直在寻找一种方法,如果我可以使用通配符"*" 和 &qu ...

  3. IIS短文件名泄露漏洞检测

    http://www.xxxx.com/*~1****/a.aspx http://www.xxxx.com/l1j1e*~1****/a.aspx If the first one return a ...

  4. 利用URLScan工具过滤URL中的特殊字符(仅针对IIS6)-- 解决IIS短文件名漏洞

    IIS短文件名漏洞在windows服务器上面非常常见,也就是利用“~”字符猜解暴露短文件/文件夹名,比如,采用这种方式构造URL:http://aaa.com/abc~1/.aspx,根据IIS返回的 ...

  5. IIS短文件名漏洞复现

    IIS短文件名漏洞复现 一.漏洞描述 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的.它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问). ...

  6. IIS短文件名漏洞原理与挖掘思路

    首先来几个网址先了解一下 https://www.jb51.net/article/166405.htm https://www.freebuf.com/articles/web/172561.htm ...

  7. IIS短文件名暴力枚举漏洞利用脚本

    import sys import httplib import urlparse import threading import Queue import time class Scanner(): ...

  8. IIS6利用URLScan修复IIS短文件名漏洞

    一.下载URLScan 3.1 链接: http://pan.baidu.com/s/1i4HfKrj 密码: dmud 二.安装URLScan 3.1 安装完成以后,我们可以在System32/In ...

  9. IIS短文件名漏洞修补方法之一改注册表一个注意项

    1)1.png 为漏洞存在没有做任何修复的时候的扫描 修复:2) 修改注册表键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSy ...

随机推荐

  1. Luogu 4213 【模板】杜教筛(Sum)

    当作杜教筛的笔记吧. 杜教筛 要求一个积性函数$f(i)$的前缀和,现在这个东西并不是很好算,那么我们考虑让它卷上另外一个积性函数$g(i)$,使$(f * g)$的前缀和变得方便计算,然后再反推出这 ...

  2. [GO]copy的使用

    package main import "fmt" func main() { srcslice := [],} dstslice := [],,,,,} copy(dstslic ...

  3. HDU 1540 Tunnel Warfare (线段树或set水过)

    题意:D代表破坏村庄,R代表修复最后被破坏的那个村庄,Q代表询问包括x在内的最大连续区间是多少. 析:首先可以用set水过,set用来记录每个被破坏的村庄,然后查找时,只要查找左右两个端点好. 用线段 ...

  4. 编写高质量代码改善C#程序的157个建议——建议32:总是优先考虑泛型

    建议32:总是优先考虑泛型 泛型的优点是多方面的,无论泛型类还是泛型方法都同时具备可重用性.类型安全性和高效率等特性,这是非泛型和非泛型方法无法具备的. 以可重用性为例: class MyList { ...

  5. mybatis使用count返回int的方法

    <select id="countByExample" resultType="java.lang.Integer" > select count( ...

  6. ajax 跨域名调用

    在ajax 中要跨域名 请求的时候要注意 1. dataType: 'jsonp', 2. jsonp: 'callback', <script type="text/javascri ...

  7. 并发编程学习笔记之Java存储模型(十三)

    概述 Java存储模型(JMM),安全发布.规约,同步策略等等的安全性得益于JMM,在你理解了为什么这些机制会如此工作后,可以更容易有效地使用它们. 1. 什么是存储模型,要它何用. 如果缺少同步,就 ...

  8. vitamio MediaController总是显示在底部的问题

    前面一直用腾讯的x5 tas来播放视频,但是体验效果不好,不能设置播放页,无法获取用户对视频的学习情况,百度了下,发现好多人在使用vitamio,最新版本是5.0的,下载可能要花费点时间,官网上竟然没 ...

  9. 【转】分析.net中的object sender与EventArgs e

    源地址:http://blog.csdn.net/feihu19851111/article/details/7523118

  10. OOP2(虚函数/抽象基类/访问控制与继承)

    通常情况下,如果我们不适用某个函数,则无需为该函数提供定义.但我们必须为每个虚函数都提供定义而不管它是否被用到了,这因为连编译器也无法确定到底会适用哪个虚函数 对虚函数的调用可能在运行时才被解析: 当 ...