用途:在获得授权的安全评估中,检测并恢复暴露的版本控制元数据、常见备份构件及相关配置错误,帮助判断源码与凭据泄露风险。仅限授权测试使用;恢复到的凭据与 URL 属敏感信息,不得超出范围外泄真实数据。
快速探测路径:/.git/HEAD、/.git/config、/.svn/entries、/.svn/wc.db、/.hg/requires、/.bzr/README、/.DS_Store、/.env,可先用 GET 或 HEAD 并遵守速率限制。
Git 暴露:/.git/HEAD 常返回 ref: refs/heads/main;/.git/config 可能泄露 remote.origin.url、身份或内嵌凭据;/.git/index 与 /.git/objects/ 在可部分访问时可用工具重建。404 表示路径可能不存在或被边缘完全阻断;对目录返回 403 而对 /.git/HEAD 返回 200 通常表明存在暴露,可继续尝试 /.git/HEAD、/.git/config、/.git/logs/HEAD、/.git/refs/heads/main。恢复工具为 arthaud/git-dumper、internetwache/GitTools、WangYihang/GitHacker。优先关注 .git/config、.git/logs/HEAD、.git/refs/heads/*、.git/packed-refs、.git/objects/**。
SVN 暴露:1.7 之前探测 /.svn/entries(XML 或文本元数据),1.7 及以上探测 /.svn/wc.db(SQLite 工作副本库,下载后可用 PRAGMA table_info 查看)。恢复工具为 anantshri/svn-extractor;也可手动下载 wc.db 用 sqlite3 查询路径与校验和,再请求 /.svn/pristine/ 中的块文件。
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 等。Web 服务器配置(如 NGINX 的 location /.git { deny all; })可能导致目录返回 403 而子路径行为不一,403 可确认路由存在,需与不存在的 404 区分。
决策顺序:先探测 /.git/HEAD,命中 ref 模式后运行 git-dumper/GitTools/GitHacker 并检查 config 与 logs/HEAD;否则依次探测 /.svn/wc.db 或 entries、/.hg/requires、/.bzr/README,并并行获取 /.DS_Store、/.env 及常见备份后缀。目录 403 加具体文件 200 应视为高优先级逐文件提取。可配合 recon-for-sec 与 recon-and-methodology 先做范围安全侦察与取证记录。限制方面,资料未提供各工具的具体安装命令、参数、成功率或法律合规细节,使用时需自行确认授权与范围。