用途:在获得授权的安全评估中,检测和恢复暴露的版本控制元数据、备份产物及相关配置错误。恢复到的凭据与 URL 视为敏感数据,不得超出授权范围外传真实数据。
主要能力:
- Git 暴露:探测 /.git/HEAD、/.git/config、/.git/index、/.git/objects/ 等。HEAD 返回 ref: refs/heads/main 之类文本通常表示仓库有效;config 可能泄露 remote.origin.url、用户身份或内嵌凭据。目录返回 403 而具体文件返回 200,强烈提示存在暴露。恢复工具包括 arthaud/git-dumper、internetwache/GitTools、WangYihang/GitHacker。优先关注 .git/config、.git/logs/HEAD、.git/refs/heads/*、.git/packed-refs、.git/objects/**。
- SVN 暴露:SVN 1.7 之前探测 /.svn/entries;1.7 及以后探测 /.svn/wc.db(SQLite 工作副本数据库)。恢复可用 anantshri/svn-extractor,或手动下载 wc.db 后用 sqlite3 查询路径与校验和,再请求 /.svn/pristine/ 中的 blob。
- Mercurial 暴露:探测 /.hg/requires 与 /.hg/store/,恢复可用 sahildhar/mercurial_source_code_dumper。
- 其他泄露:Bazaar 探测 /.bzr/README 与 /.bzr/branch-format;macOS 的 /.DS_Store 可编码目录与文件名列表,可用 gehaxelt/ds-store、lijiejie/ds_store_exp 离线解析;备份与配置产物探测 /.env、/backup.zip、/backup.tar.gz、/wwwroot.rar、/backup.sql、/config.php.bak、/.config.php.swp 等。
使用方式:先快速探测高价值路径(GET 或 HEAD,遵守速率限制),再按决策树推进:/.git/HEAD 命中则运行 git-dumper/GitTools/GitHacker 并检查 config 与 logs/HEAD;否则探测 /.svn/wc.db 或 entries;否则 /.hg/requires;否则 /.bzr/README;同时并行获取 /.DS_Store、/.env 与常见备份扩展名。注意区分 403 与 404:404 通常表示路径不存在或被边缘完全阻断,403 表示目录可能存在但禁止列目录,仍应尝试直接文件 URL。
适用场景:侦察阶段发现 VCS 路径、隐藏目录返回 403、或出现备份/配置泄露时。
限制:仅限授权评估使用;需先设定范围与请求速率;恢复到的凭据和 URL 属敏感信息,不得超出范围外传真实数据。资料未提供具体工具安装命令、版本要求与更多平台细节。