• 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。

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

  • 相关阅读:
    【转】jQuery学习
    Eclipse工作空间的缺省字符编码问题
    BS与CS的区别
    内部类的作用
    test
    Delphi制作关不掉的程序
    屏蔽指定按钮
    实现拖动无标题窗口的5种方法
    Sql服务器及数据库枚举
    Delphi调用SQL分页存储过程实例
  • 原文地址:https://www.cnblogs.com/guohu/p/14103582.html
Copyright © 2020-2023  润新知