TL;DR
目的:发现 SRC 目标高发的敏感信息泄露点(赏金接受度最高的低门槛漏洞类)
适用:所有 SRC / Bounty 项目(侦察必做 + 每次拿到新入口后复查)
输入:目标 URL + 关注泄露类型(secrets / debug / PII / source)
输出:泄露点清单 + 严重性分级 + 影响面描述
红线:仅检测不利用——发现凭据只证明可访问性,不登录不拖库;PII 数据一律脱敏后入报告
关联:见
00-INDEX.md同分类相邻 skill
Workflow
- Fingerprint — 识别技术栈,套用对应泄露模式
- Public files 公开文件 —
.git、.env、.DS_Store、备份文件(.bak/.sql/.zip/web.config.old) - JS source analysis — 审计 JS 包:API 密钥、内部端点、注释里的 TODO/FIXME
- Source maps — 从
.js.map还原原始源码再 grep secrets - Error triggering — 触发 500 获取堆栈(版本、路径、内网 IP)
- Default creds — 默认口令/注册流程探测管理面
- 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] |
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 证据即可。
- 算成输出固定四元组:密钥类型 / 来源位置(文件:行)/ 验证方式 / 带出的身份或资源数。