# Info Leak

> 信息泄露猎捕：.git/.env/备份文件、source map 还原源码、JS 内硬编码密钥、调试端点、堆栈泄露。 触发词：信息泄露、敏感信息、源码泄露、配置泄露、API密钥。侦察阶段必做，全流程持续检查。

- Skill: `wufufu770/info-leak-3` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wufufu770/info-leak-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wufufu770/info-leak-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: MIT
- Author: wufufu770 (https://skillmd.com/u/wufufu770)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wufufu770/info-leak-3

---


## TL;DR

- **目的**：发现 SRC 目标高发的敏感信息泄露点（赏金接受度最高的低门槛漏洞类）
- **适用**：所有 SRC / Bounty 项目（侦察必做 + 每次拿到新入口后复查）
- **输入**：目标 URL + 关注泄露类型（secrets / debug / PII / source）
- **输出**：泄露点清单 + 严重性分级 + 影响面描述
- **红线**：仅检测不利用——发现凭据只证明可访问性，不登录不拖库；PII 数据一律脱敏后入报告

- **关联**：见 `00-INDEX.md` 同分类相邻 skill
## Workflow

1. **Fingerprint** — 识别技术栈，套用对应泄露模式
2. **Public files 公开文件** — `.git`、`.env`、`.DS_Store`、备份文件（`.bak`/`.sql`/`.zip`/`web.config.old`）
3. **JS source analysis** — 审计 JS 包：API 密钥、内部端点、注释里的 TODO/FIXME
4. **Source maps** — 从 `.js.map` 还原原始源码再 grep secrets
5. **Error triggering** — 触发 500 获取堆栈（版本、路径、内网 IP）
6. **Default creds** — 默认口令/注册流程探测管理面
7. **Document** — 每条泄露记录：类型 / 严重性 / 可达范围 / 修复建议

## Sensitive String Extraction

还原源码或响应体后按正则猎捕：

| 目标 | 正则/特征 |
|---|---|
| AWS Key | `AKIA[0-9A-Z]{16}` |
| JWT | `eyJ.+\.+\.+` |
| 私钥 | `-----BEGIN` |
| DB 连接串 | `postgres://` `mongodb://` `mysql://` |
| 支付/云 API Key | `sk_live_` `AIza` `LIVE` `access_key` |
| 内网信息 | `10\.` `192.168.` `172.(1[6-9]|2[0-9]|3[01]).` |

## Advanced Techniques

### Git History Mining
`.git/` 暴露时用 `git-dumper` 拉库，`git log -p` 挖已删除提交中的历史 secret——当前版本干净的仓库，历史提交常带硬编码密码。

### Source Map Extraction
`sourcemapper` 或手动解析 `.map` 文件重建源码树，重点 grep 硬编码密钥与未公开接口路径。

### Configuration Files
常见暴露路径双查：根目录 + 常见子目录。`.env`、`config.json`、`wp-config.php`、`application.properties`、`appsettings.json`。

### Code Comments
`// TODO: remove before prod`、`// FIXME: insecure` 类标记往往指向已知但未修的问题点。

## 上下游

- **上游**：`src-session-start`、任意 `hunt-*` 拿到新入口后
- **下游**：`skills/qa/fp-check` → 报告模板（泄露类通常走事件型/EduSRC）

## 对象存储七连（MERGE-2026-09）

> 来源：社区 SRC 实战经验包（2026-08 共享版）整理；本节全部手法行带「假点」（证伪条件），单站失败不得写成手法失效。

| # | 认 | 打 | 算成 | 假点 |
|---|---|---|---|---|
| 1 | 前端向 STS 临时凭证接口取上传凭证 | `filename`/前缀参数填 `*` 或空 | 凭证授权范围通配成整桶（可列可传） | 返回凭证 scope 仍限单前缀=假点 |
| 2 | 网关签名口 `key` 参数可控 | key 填 `/` 直接请求 | 回 ListBucketResult XML（列全桶） | 网关白名单校验 key 前缀=假点 |
| 3 | 桶策略/ACL 探测 | 匿名 LIST+PUT 探测 | 匿名可列且可覆盖对象 | 仅可读不可写=降级写报告 |
| 4 | 预签名 URL | 签名未绑 Host：换同账号另一桶 host 重放；加 `?uploads` | 列出 multipart 分片 | 签名含 SignedHeaders: host=假点 |
| 5 | 预签名下载 | 再签 `response-content-type=text/html` | 对象以 HTML 渲染=存储型 XSS | 桶域与主域隔离且 CSP 拦=写低危组合链 |
| 6 | webpack 产物 | 搜明文 AK/SK（`AKID`、`secret`）；前端 HMAC-SHA1 自算 policy 时抓 policy+签名对 | 永久密钥可用（对照生产认证） | 仅变量名无实值=不算 |
| 7 | 云录制/分享功能 | 分享鉴权 false 仍下媒体：POST 报错改 GET query | 未授权拉取媒体文件 | 需有效分享码=假点 |

## 认钥闸（抄到钥≠漏洞，MERGE-2026-09）

- 抄到任何密钥后 MUST 走两步：①**假值对照**——用篡改值请求同一接口确认存在真实验证；②**带出身份**——用真钥请求身份/列表类只读接口，拿到账号主体、资源清单才算确认可用。
- SSH 判据示例：假钥 `Permission denied`、真钥回 `Welcome, <user>`。
- 严禁用业务密钥调用计费/消耗型接口证明；存在性+scope 证据即可。
- **算成**输出固定四元组：密钥类型 / 来源位置（文件:行）/ 验证方式 / 带出的身份或资源数。


