介绍

列目录漏洞也叫目录遍历漏洞

该漏洞是由于网站存在配置缺陷,目录没有默认首页文件或没有正确设置默认首页文件,会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些包含敏感信息的文件(如phpinfo、管理后台、数据库连接文件、网站备份文件等);扩大攻击面,使网站更容易被攻破。

举例

一个最简单的例子,就是用Python启动一个轻量级的服务器

python3 -m http.server 8000

使用浏览器访问http://127.0.0.1:8000/,如果当前目录下没有index.html,就可以获取到目录信息

列目录漏洞

挖掘方法

测试主要通过两种方法

主动

  1. 利用目录扫描工具进行扫描,如dirscanyuhScan等,观察返回头信息,或者直接代入浏览器访问
  2. 测试过程中,手动删除接口部分,保留文件夹;如blog.gm7.org/manager/d4m1ts.html删除最后的d4m1ts.html,访问blog.gm7.org/manager/就可能存在列目录漏洞

被动

1、利用Google Hacking

intitle:"Index of /"

image-20220211132405953

2、利用网络空间搜索引擎

image-20220211132456962

修复方案

IIS

  1. 打开 IIS 管理器,然后导航至您要管理的网站;
  2. 在“功能视图”中,双击“目录浏览”;
  3. 在“操作”窗格中,选择“目录浏览”功能,单击“禁用”;
  4. 重启 IIS 服务

Apache

  1. 修改Apache配置文件[httpd.conf],搜索“Options Indexes FollowSymLinks”,修改为“Options -Indexes FollowSymLinks”即可;修改后重启Apache服务。

  2. -Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。

  3. 在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。这样的话就属于整个Apache禁止目录浏览了。

  4. 通过.htaccess文件

    可以在根目录新建或修改 .htaccess 文件中添加如下代码就可以禁止Apache显示目录索引:

     <Files *>
         Options -Indexes
     </Files>
    

Nginx

  1. Nginx中默认不会开启目录浏览功能,若您发现当前已开启该功能,可以编辑nginx.conf文件,删除如下两行,并重启Nginx服务:
autoindex on;
autoindex_exact_size on;

Tomcat

  1. 在应用的WEB-INF目录找到web.xml配置文件,将“listings”参数的初始化值设置为“false”并重启Tomcat服务即可。代码示例如下:

      <servlet-name>default</servlet-name>  
      <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>  
      <init-param>  
          <param-name>debug</param-name>  
          <param-value>0</param-value>  
      </init-param>  
      <init-param>  
          <param-name>listings</param-name>
          <!-- 注意:如果这个地方是true,如果访问tomcat上的应用程序如果URL输入的是一个目录,而不是具体的文件,则会在浏览器上列出该目录下的文件列表,设置为false,就不会列出文件列表了 -->
          <param-value>false</param-value> 
      </init-param>  
      <load-on-startup>1</load-on-startup>
    
Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2022-02-11 14:31:54

results matching ""

    No results matching ""