信息泄露-常见敏感文件
字数 1598 2025-09-01 11:26:17
敏感文件泄露漏洞详解与防护指南
1. Git文件泄露
1.1 简介
Git泄露是指在使用Git版本控制系统时,由于配置不当或操作失误,导致.git目录及其中包含的敏感信息(如密码、密钥、源代码等)被意外上传到公开可访问的地方。
1.2 危害
- 攻击者可下载
.git文件夹中的所有内容 - 可能获取数据库账号密码、源码等敏感信息
- 通过白盒审计可能直接获得服务器控制权限
1.3 利用方法
-
检测:
dirsearch -u http://example.com/ -i 200查找
.git/HEAD、.git/config等文件是否存在 -
下载仓库:
使用GitTools工具:./gitdumper.sh http://example.com/.git/ output_dir -
还原代码:
git checkout . git log git show
1.4 修复方案
- 不要将
.git文件暴露在网站根目录下 - 配置Web服务器阻止访问
.git目录 - 部署前清理
.git目录
2. SVN泄露
2.1 简介
SVN泄露是指Web服务器错误上传了Subversion版本控制系统的元数据目录.svn/,导致攻击者可以还原网站源码。
2.2 危害
- 还原源码文件
- 获取配置文件(如config.php、.env)
- 发现漏洞(如RCE、SQL注入)
- 获取后台入口、账号密码等
2.3 利用方法
使用svnExploit工具:
SvnExploit - Dump the source code by svn
2.4 修复方案
- Nginx/Apache配置拦截
.svn目录访问 - 部署时使用
rsync --exclude='.svn/' - 清理
.svn/元数据目录
3. Hg泄露
3.1 简介
Mercurial版本控制系统的.hg/目录暴露在Web服务器上,可能导致整个项目源代码泄露。
3.2 利用方法
使用dvcs-ripper工具:
perl rip-hg.pl -v -u http://example.com/.hg/
3.3 修复方案
- 移除
.hg目录的Web访问权限 - 部署前清理
.hg目录
4. Vim文件泄露
4.1 简介
Vim编辑器生成的临时文件或备份文件被意外暴露,常见文件:
.filename.swp:交换文件.filename.swo:辅助交换文件filename~:备份文件.filename.un~:Undo备份
4.2 危害
- 源码泄露
- 敏感信息泄露
- 数据库账户和密码泄露
4.3 利用方法
vim -r .index.php.swp
# 或
strings .index.php.swp
4.4 修复方案
- 定期扫描并删除交换文件
- 禁用Vim自动生成临时文件
- 配置Vim不生成备份文件
5. 网站备份文件泄露
5.1 常见泄露文件
.rar,.zip,.7z,.tar.gz.bak,.txt,.html
5.2 危害
- 整站源代码泄露
- 服务器配置信息泄露
- 数据库连接信息泄露
5.3 修复方案
- 删除存在的压缩包文件
- 配置服务器禁止访问备份文件
- 建立规范的备份流程
6. .DS_Store文件泄漏
6.1 简介
macOS系统自动生成的文件,出现在Web根目录可能导致目录结构泄露。
6.2 利用方法
使用ds_store_exp工具:
python ds_store_exp.py http://example.com/.DS_Store
6.3 修复方案
- 删除Web目录下的
.DS_Store文件 - 配置Finder不生成
.DS_Store文件
7. heapdump泄露
7.1 简介
Java应用中堆内存转储文件.hprof泄露,常见于Spring Boot应用的/heapdump或/actuator/heapdump接口。
7.2 危害
- 可能暴露Shiro框架的用户名和密码
- 可能泄露加密密钥
- 可用于反序列化漏洞利用
7.3 修复方案
禁用或加固Heap Dump入口:
# application.yml 配置示例
management:
endpoints:
web:
exposure:
exclude: heapdump
综合防护建议
-
部署前检查:
- 扫描并删除所有版本控制目录(.git, .svn, .hg)
- 删除编辑器临时文件和备份文件
- 移除不必要的压缩包和备份文件
-
服务器配置:
- 配置Web服务器禁止访问敏感文件扩展名
- 限制目录列表功能
- 关闭不必要的调试接口
-
开发规范:
- 建立敏感文件检查清单
- 实施自动化部署流程
- 定期进行安全扫描
-
监控与响应:
- 设置文件变更监控
- 建立应急响应流程
- 定期进行安全审计