diff --git a/spdier_skills.md b/spdier_skills.md new file mode 100644 index 0000000..998ad20 --- /dev/null +++ b/spdier_skills.md @@ -0,0 +1,254 @@ +# crawler-reverse + +> 用于**合法授权前提下**的网页抓包、接口分析、前端 JS 逆向与反爬排查。 + +## 简介 + +`crawler-reverse` 是一个面向网页抓包分析、接口链路定位、参数生成逻辑梳理和前端混淆排查的技能。 + +适用于以下工作: + +- 分析页面请求链路 +- 定位签名参数/加密参数生成位置 +- 排查 token / cookie / header 来源 +- 复现前端接口调用流程 +- 分析反爬机制与接口重放差异 +- 借助浏览器自动化辅助定位关键逻辑 + +--- + +## 适用场景 + +当需求类似下面这些时,适合使用本技能: + +- “分析这个网站的请求链路” +- “找签名参数/加密参数在哪里生成” +- “看一下这个 token / cookie / header 怎么来的” +- “排查这个页面的 JS 混淆逻辑” +- “复现前端接口调用流程” +- “帮我分析反爬机制/接口重放问题” +- “从浏览器行为里定位关键请求” + +--- + +## 工作目标 + +把网页行为拆成几层进行分析: + +1. **页面入口** + - 用户操作 + - 按钮点击 + - 路由切换 + - 表单提交 + - 懒加载触发 + +2. **网络请求** + - XHR + - Fetch + - Document + - WebSocket + - 静态资源请求 + +3. **关键参数** + - Query 参数 + - Body 参数 + - Header + - Cookie + - localStorage + - sessionStorage + +4. **生成逻辑** + - 签名函数 + - 时间戳 + - 随机数 + - 加密 + - 序列化 + - 压缩 + +5. **复现方式** + - 最小验证脚本 + - 浏览器自动化流程 + - 请求重放与差异比对 + +--- + +## 推荐工具组合 + +### 1. 页面行为观察 + +优先使用: + +- `browser_visible`:需要真实可见浏览器时 +- `browser_use`:打开页面、点击、输入、快照、执行 JS、查看网络请求 + +常见动作: + +- 打开目标页面并复现操作路径 +- 用 `snapshot` 找元素 +- 用 `network_requests` 观察接口 +- 用 `evaluate / eval` 读取页面变量、storage、hook 点 + +--- + +### 2. 代码与文件分析 + +优先使用: + +- `file_reader`:读取本地 JS / HTML / JSON / 日志 +- `read_file`:查看项目中的脚本、抓包结果、接口样本 +- `execute_shell_command`:搜索关键词、运行本地验证脚本 + +--- + +### 3. 验证与复现 + +可用方式: + +- 写最小 Python / JS 复现脚本 +- 比对浏览器请求与脚本请求差异 +- 验证 header / cookie / payload / 签名是否一致 + +--- + +## 建议流程 + +### A. 先确认目标与授权边界 + +先确认: + +- 目标站点/系统是什么 +- 用户是否有合法授权或正当测试目的 +- 是要分析页面、接口、签名,还是登录流程 + +如果用途明显涉及: + +- 未授权数据抓取 +- 绕过权限 +- 批量滥用 +- 撞库 +- 绕过付费 +- 绕过风控 + +则不继续提供实操绕过方案。 + +--- + +### B. 观察页面与请求 + +1. 打开页面 +2. 复现用户操作 +3. 记录触发的关键请求 +4. 标记以下信息: + +- URL +- Method +- Status +- 请求头 +- Body +- 响应结构 +- 请求前后的页面状态 + +--- + +### C. 定位关键参数来源 + +重点查找: + +- `sign` +- `token` +- `timestamp` +- `nonce` +- `secret` +- `encrypt` +- `signature` +- `authorization` +- `x-` 自定义 Header + +常用方法: + +- 在源码中搜关键词 +- 在浏览器环境里打印函数或变量 +- 从发请求位置向上追踪调用链 +- 比对多次请求的变化字段 + +--- + +### D. 识别常见反爬点 + +重点关注: + +- 登录态与 Cookie 绑定 +- CSRF Token +- 动态 Header +- 请求体加密 / Base64 / JSON 包装 +- 时间戳与随机数参与签名 +- WebSocket 下发临时 Token +- 页面渲染后再拼装参数 +- localStorage / sessionStorage / 内存中的临时值 + +--- + +### E. 产出可验证结果 + +尽量给出: + +- 关键请求列表 +- 参数来源说明 +- 生成逻辑摘要 +- 最小复现步骤 +- 若能安全且合规地做,给一个最小验证脚本 + +--- + +## 输出模板 + +建议输出采用下面结构: + +- **目标页面/动作:** +- **关键请求:** +- **可疑参数:** +- **参数来源推测/证据:** +- **还需要验证的点:** +- **下一步建议:** + +--- + +## 安全边界 + +### 可以做 + +- 合法授权下的接口分析 +- 自有系统调试 +- 前端参数链路梳理 +- 本地脚本验证 +- 浏览器行为复现 + +### 不要做 + +- 未授权绕过访问控制 +- 绕过验证码 / 付费墙 / 权限系统的具体实操 +- 大规模盗采或滥用 +- 撞库、刷接口、规避风控的攻击性方案 + +如果用户目标不清楚,应该先追问: + +- 授权范围 +- 目标页面 +- 目标接口 +- 分析目的 + +--- + +## 实操提醒 + +- 先从“重放已观察到的合法请求”开始,不要一上来重造整套链路 +- 优先找“最少变化字段”,再定位签名 +- 参数分析时,至少做两次请求对比 +- 页面脚本很大时,优先围绕触发请求的函数调用点缩小范围 +- 如果需要真实浏览器观察,就先配合 `browser_visible` 使用 + +--- + +## 一句话总结 + +`crawler-reverse` 适合在**合法授权**前提下,帮助你把网页请求链路、前端参数生成、签名逻辑和接口复现过程系统化地拆开分析,并输出可验证的结论与脚本。