• IIS短文件名枚举漏洞


    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_MACHINESYSTEMCurrentControlSetControlFileSystem

    修改 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。

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

  • 相关阅读:
    将博客搬至CSDN
    mplayer的执行过程分析(本地、网络)
    ES6新特性概览
    ES6 块级作用域
    echarts各种字体颜色的修改
    js时间格式转换为几天前几小时几分钟等
    正则验证非法字符
    JS阻止事件冒泡函数
    cookie设置,读取,删除
    C/C++基础(三)
  • 原文地址:https://www.cnblogs.com/guohu/p/14103582.html
Copyright © 2020-2023  润新知