当前位置: 当前位置:首页 > 时尚 > apache目录遍历漏洞正文

apache目录遍历漏洞

作者:娱乐 来源:娱乐 浏览: 【大 中 小】 发布时间:2026-10-17 06:15:10 评论数:

Apache目录遍历漏洞:当你的目录网站变成“文件管理器”

把Apache的`mod_autoindex`模块打开,再配上个不设防的遍历目录,你的漏洞网站就会变成一个公开的文件浏览器。访客在浏览器地址栏敲个斜杠,目录就能看到服务器上所有文件的遍历列表——配置文件、备份压缩包、漏洞甚至数据库导出文件,目录一排排整齐列在那儿,遍历像超市货架上的漏洞商品。

我见过最离谱的目录一次,是遍历某家做跨境电商的公司。他们的漏洞运维图省事,把整个`/backup`目录挂在web根目录下,目录还开了索引。遍历结果谷歌爬虫把备份文件全抓了,漏洞里面躺着的是客户信用卡信息的明文记录——连加密都没做。那家公司后来被罚得差点破产,但问题根源其实简单得可笑:Apache默认配置里,`Options Indexes`是开着的。

这个漏洞的本质,就是Apache允许服务器在没有`index.html`(或`DirectoryIndex`指定的其他文件)时,自动生成目录文件清单。攻击者不需要什么高深技巧,只要用浏览器或curl就能枚举文件。更麻烦的是,很多开发者以为“目录里没放敏感文件就没事”——但备份文件、`.git`目录、临时文件、日志文件,这些往往就藏在看似无害的文件夹里。

实际测试中,我常用一个笨办法:访问`/css/`、`/js/`、`/images/`这类静态资源目录。如果看到文件列表,就继续往上翻路径,`/css/../`或`/js/../../`,直到找到根目录。运气好的话,能直接看到`web.config`或`.env`文件。有个真实案例是,某政府网站的子域名开了目录遍历,里面放着一个`.sql`文件——那是他们整个用户数据库的备份,密码还是MD5未加盐的。

修复方法并不复杂。最直接的是在Apache配置里删掉`Options Indexes`,或者改成`Options -Indexes`。如果用的是虚拟主机,就在对应的``块里加一行代码。但这里有个坑:很多人的Apache配置是分散管理的,主配置、虚拟主机配置、`.htaccess`文件都可能覆盖设置。你得挨个检查,别漏了某个子目录下的`.htaccess`——那里面可能写着`Options +Indexes`,把你在主配置里的努力全白费了。

另一个常被忽略的点是,即使关掉了索引,如果目录名能被猜到,攻击者还是能直接访问具体文件。比如`/backup/2024-01-01.sql`,你关掉索引也没用,因为文件本身是公开可读的。所以根本的解法是:把敏感文件移出web根目录,或者用Apache的``正则把他们拒之门外。

检查你的服务器吧——用浏览器访问几个常见目录,或者跑个简单的扫描工具。这花不了五分钟,但能让你避免成为下一个被挂在公开列表里的“货架”。毕竟,没人愿意自己的数据库备份变成别人浏览器里的下载链接。