• 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两个条件都满足

     
    作者:拾瑾
    个性签名:愿历经千帆,归来仍少年.
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Java实现币值最大化问题
    Java实现币值最大化问题
    Java实现币值最大化问题
    Java实现币值最大化问题
    ddd
    雷军:小米最坏的时候已过去 2017目标营收千亿(确实有些新意)
    真正的转变从不确定中来
    很多人知道自己的斤两,他之所以抱怨工资低,不是觉得薪水和自己的能力不匹配,而是因为工资确实不够用(笑死了)
    CodeSmith
    sb2-admin
  • 原文地址:https://www.cnblogs.com/ayoung/p/14858398.html
Copyright © 2020-2023  润新知