介绍
列目录漏洞也叫目录遍历漏洞
该漏洞是由于网站存在配置缺陷,目录没有默认首页文件或没有正确设置默认首页文件,会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些包含敏感信息的文件(如phpinfo、管理后台、数据库连接文件、网站备份文件等);扩大攻击面,使网站更容易被攻破。
举例
一个最简单的例子,就是用Python启动一个轻量级的服务器
python3 -m http.server 8000
使用浏览器访问http://127.0.0.1:8000/
,如果当前目录下没有index.html
,就可以获取到目录信息
挖掘方法
测试主要通过两种方法
主动
- 利用目录扫描工具进行扫描,如
dirscan
、yuhScan
等,观察返回头信息,或者直接代入浏览器访问 - 测试过程中,手动删除接口部分,保留文件夹;如
blog.gm7.org/manager/d4m1ts.html
删除最后的d4m1ts.html
,访问blog.gm7.org/manager/
就可能存在列目录漏洞被动
1、利用Google Hacking ``` intitle:”Index of /“
![image-20220211132405953](https://cdn.nlark.com/yuque/0/2022/png/2976988/1646990526585-a1342770-fb6b-4452-99e9-e37824354a1e.png)<br />2、利用网络空间搜索引擎<br />![image-20220211132456962](https://cdn.nlark.com/yuque/0/2022/png/2976988/1646990528496-ca1697c0-9c6e-4fd6-9535-b666c46451dc.png)
## 修复方案
### IIS
1. 打开 IIS 管理器,然后导航至您要管理的网站;
1. 在“功能视图”中,双击“目录浏览”;
1. 在“操作”窗格中,选择“目录浏览”功能,单击“禁用”;
1. 重启 IIS 服务
### Apache
1.
修改Apache配置文件[httpd.conf],搜索“`Options Indexes FollowSymLinks`”,修改为“`Options -Indexes FollowSymLinks`”即可;修改后重启Apache服务。
1.
`-Indexes` 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。
1.
在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。这样的话就属于整个Apache禁止目录浏览了。
1.
通过`.htaccess`文件
<br />可以在根目录新建或修改 `.htaccess` 文件中添加如下代码就可以禁止Apache显示目录索引:
### Nginx
1. Nginx中默认不会开启目录浏览功能,若您发现当前已开启该功能,可以编辑`nginx.conf`文件,删除如下两行,并重启Nginx服务:
autoindex on; autoindex_exact_size on;
### Tomcat
1.
在应用的WEB-INF目录找到web.xml配置文件,将“`listings`”参数的初始化值设置为“`false`”并重启Tomcat服务即可。代码示例如下:
```