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

     
    作者:拾瑾
    个性签名:愿历经千帆,归来仍少年.
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Linux常用命令-centos
    USACO 2006 Open, Problem. The Country Fair 动态规划
    USACO 2007 March Contest, Silver Problem 1. Cow Traffic
    USACO 2007 December Contest, Silver Problem 2. Building Roads Kruskal最小生成树算法
    USACO 2015 February Contest, Silver Problem 3. Superbull Prim最小生成树算法
    LG-P2804 神秘数字/LG-P1196 火柴排队 归并排序, 逆序对
    数据结构 并查集
    浴谷国庆集训 对拍
    1999 NOIP 回文数
    2010 NOIP 普及组 第3题 导弹拦截
  • 原文地址:https://www.cnblogs.com/ayoung/p/14858398.html
Copyright © 2011-2022 走看看