zoukankan      html  css  js  c++  java
  • IIS短文件名泄露漏洞检测

    IIS短文件名泄露漏洞

    1.漏洞描述

    此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

    2.漏洞原理

    IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。

    漏洞成因:

    为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。

    3.短文件名特征

      1.只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的6个字符是相同的,后面的数字进行递增。

      2.后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。

      3.所有小写字母均转换成大写的字母。

      4.长文件名中包含多个”.”的时候,以文件最后一个”.”作为短文件名的后缀。

      5.长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件。

    4.检测方法

    http://www.xxxx.com/*~1****/a.aspx
    
    http://www.xxxx.com/l1j1e*~1****/a.aspx
    
    If the first one return an HTTP 404 and the second one return an 400.
    Your server may be exploitable to this vulnerability.

    5.修复建议

    1、升级.net framework

    2、修改注册表键值:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem

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

    注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。如果不重新复制,已经存在的短文件名则是不会消失的。

    6.总结

    6.1意义

    1、 猜解后台地址

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

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

    6.2局限性

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

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

    3、 不支持中文文件名

    4、 如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配

    5、 需要IIS和.net两个条件都满足

     
    作者:拾瑾
    个性签名:愿历经千帆,归来仍少年.
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    可视化数据挖掘开源软件的比较分析
    大数据平台比较-CDH,HDP
    数据挖掘的一般过程
    httpclient介绍与请求方式详解
    30分钟带你了解阻塞队列所有内容,再也不怕面试官刁难你了!(上)
    Lock
    HashMap 源码解读
    类加载各阶段详解
    Java基础复习(八、注解)
    Java基础复习(六、反射)
  • 原文地址:https://www.cnblogs.com/ayoung/p/14858398.html
Copyright © 2011-2022 走看看