zoukankan      html  css  js  c++  java
  • IIS短文件/文件夹泄露漏洞

    0x01:漏洞描述

    Windows 还以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。在cmd下输入“dir /x”即可看到短文件名的效果。

     在Windows下查看对应的短文件名,可以使用命令dir /x

     短文件名特点:

    1、只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)

    2、后缀名最长只显示3位,多余的被截断

    3、生成短文件名后, 将文件名及扩展名中的所有字符转为大写。

    0x02 漏洞利用

    手工测试:

    可以在启用.net的IIS下暴力列举短文件名,原因是:

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

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

     例如:

     http://www.target.com/*~1*/a.aspx  返回404

     http://www.target.com/admi*~1*/a.aspx  返回400 

    脚本测试:

    java scanner 2 0 http://www.target.com/   2代表频率2s   0代表不需要使用代理

    不同IIS和.NET版本,服务器返回信息不同:

    0x03 漏洞意义

    这个漏洞的意义何在:

    1、猜解后台地址

    2、猜解敏感文件,例如备份的rar、zip、.bak、.SQL文件等。

    3、在某些情形下,甚至可以通过短文件名web直接下载对应的文件。比如下载备份SQL文件。

    0x04.漏洞的局限性

    这个漏洞的局限有几点:

    1) 只能猜解前六位,以及扩展名的前3位。

    2) 名称较短的文件是没有相应的短文件名的。

    3)需要IIS和.net两个条件都满足。

    0x05. 漏洞的修复

    1) 升级.net framework4.0以上

    2) 修改注册表键值:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

    修改NtfsDisable8dot3NameCreation为1。

    3)如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 --- Web 服务扩展 - ASP.NET 选择禁止此功能

    4) 将web文件夹的内容拷贝到另一个位置,比如D:\www到D:\www.back,然后删除原文件夹D:\www,再重命名D:\www.back到D:\www

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

    参考链接:

    http://www.freebuf.com/articles/4908.html

    http://www.lijiejie.com/iis-win8-3-shortname-brute/

    http://www.baiwanzhan.com/site/t129697/

     

  • 相关阅读:
    MySQL主从复制的作用?
    MySQL的逻辑架构
    SQL语句的执行流程
    Count(*)在不同引擎的实现方式
    视图
    MySQL经典练习题(五)
    pyinstaller基本操作
    git基本操作
    Ubuntu安装tensorflow
    ScrollView can host only one direct child
  • 原文地址:https://www.cnblogs.com/seeker01/p/7293876.html
Copyright © 2011-2022 走看看