Vulnerability-wiki

📂 目录浏览未关闭漏洞(Directory Listing Enabled)


✨ 漏洞简介

目录浏览未关闭漏洞 是指 Web 服务器未正确配置,导致用户可以直接通过浏览器访问网站目录列表,从而看到该目录下的所有文件和子目录。
攻击者可以利用此漏洞获取敏感文件(配置文件、源码、数据库备份等),甚至直接下载并分析源代码,从而进一步发现其他漏洞。

这种问题常见于:


📦 基础概念

✅ 目录浏览(Directory Listing)

当目录中没有默认首页文件(如 index.htmlindex.php),且服务器未禁用 autoindex 功能时,访问该目录会返回自动生成的文件列表页面。

✅ 未关闭目录浏览(Enabled)


🛠 漏洞原理

  1. 服务器默认行为
    • 部分 Web 服务器默认允许目录浏览。
    • 目录无首页文件时会列出文件清单。
  2. 文件泄露
    • 目录中文件可能包含敏感信息(源代码、配置文件、数据库备份等)。
  3. 信息收集
    • 攻击者通过目录浏览发现隐藏接口、后台入口、调试文件。
  4. 进一步利用
    • 下载源码分析 → 寻找逻辑漏洞、SQL注入、弱口令等
    • 下载配置文件 → 获取数据库连接密码、API Key

🔍 攻击流程

  1. 探测可浏览目录
    • 访问常见目录路径,如:
      /uploads/
      /backup/
      /test/
      
  2. 分析文件内容
    • 查找 .php.sql.conf.bak 等文件
  3. 敏感信息提取
    • 数据库账号密码
    • 源代码逻辑
    • API 接口地址
  4. 后续攻击
    • 登录后台
    • 数据库直接入侵
    • 进一步横向渗透

💣 漏洞实例

Apache 目录浏览示例

Options Indexes FollowSymLinks

Indexes 未禁用时,访问目录无首页文件将返回目录列表。

Nginx 配置错误示例

location /download/ {
    autoindex on;
}

🔗 常见利用场景


🛡 防御措施

✅ 关闭目录浏览功能

Apache

Options -Indexes

Nginx

autoindex off;

✅ 添加访问控制

✅ 删除敏感文件

✅ 部署安全首页文件


🧪 检测方法

手动检测

自动化检测


📊 总结

项目 内容
漏洞名称 目录浏览未关闭漏洞(Directory Listing Enabled)
危害等级 中高危(可能导致敏感信息泄露)
攻击方式 直接访问可浏览目录并下载敏感文件
影响范围 Web 应用、静态文件服务器、网络设备
防御手段 禁用目录浏览、添加访问控制、删除敏感文件、部署空白首页