agent-bypass 2.11.6 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-bypass",
3
- "version": "2.11.6",
3
+ "version": "2.12.0",
4
4
  "description": "Cknb 全能技术操作员 — Agent Skills 技能包(自动安装到 Pi / OpenCode / Claude Code / Grok Build / OpenMinis)",
5
5
  "bin": {
6
6
  "agent-bypass": "bin/install.js"
@@ -16,7 +16,9 @@
16
16
  "claude/",
17
17
  "grok/",
18
18
  "references/",
19
- "scripts/",
19
+ "scripts/*.py",
20
+ "scripts/*.sh",
21
+ "assets/",
20
22
  "README.md",
21
23
  "LICENSE"
22
24
  ],
@@ -30,6 +32,13 @@
30
32
  "security",
31
33
  "pentest"
32
34
  ],
35
+ "scripts": {
36
+ "prepack": "rm -rf scripts/__pycache__ 2>/dev/null || true"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/1837620622/agent-bypass.git"
41
+ },
33
42
  "license": "MIT",
34
43
  "engines": {
35
44
  "node": ">=18"
@@ -142,3 +142,451 @@
142
142
  - 频密登录尝试会触发限速并留下登录时间戳
143
143
 
144
144
  **可复用性**:高
145
+
146
+ ## [支付回调] 验签宽松分支:int-0 与空签名 ★
147
+
148
+ **场景**:第三方支付插件/webhook 回调(PHP 系社区插件、旧版 SDK 集成尤甚)
149
+
150
+ **判据与思路**:
151
+ - 松比较:签名字段传异型值(整数 `0`、空串、数组)——实现里 `$hash == $calc` 对 0 为真(PHP8 之前的经典类型戏法)
152
+ - 空值分支:部分实现"签名缺失/为空则跳过校验"(源码级常见,见 `Stripe-Signature` 为空跳验签的实现)
153
+ - 重试窗口:验签材料含时间/随机因子(如 `t` 字段)时,同一伪造请求重试命中率显著上升(实测 ~40%/次,1-10 次内必中)
154
+ - 重灾区是**第三方插件**:核心系统多已加固(`hash_equals` 严格比较+IP 白名单),社区支付插件往往没有
155
+
156
+ **验证路径**:回调端点直接构造最小 JSON(订单号+金额+状态+`hash:0`),响应 success/ok 即通过;失败换因子重试。
157
+
158
+ **扩展扫描**:`POST /pay/{插件名}/notify_url` 探路由存在性——返回 fail 也是"插件已装"信号;同指纹站批量找同类目标。GET+JSON 变体(部分网关用 GET)。
159
+
160
+ **已加固对照(遇到即换目标)**:新版官方插件四项加固——非字符串签名直接非法+严格比较+回调 IP 白名单+凭据完整性检查;同类产品确认硬化后不要反复试。载荷形态:`{"trade_order_id":"…","total_fee":"…","status":"OD","hash":0,"t":"<重试位>"}`——`t` 每次换值,单次成功率约四成,1-10 次内必中。
161
+
162
+ **可复用性**:高(所有 Type-Juggling 语系回调;判定优先级:旧插件 > 自实现 > 核心)
163
+
164
+ ---
165
+
166
+ ## [回调风控] 入账金额与存活时间成反比 ★
167
+
168
+ **场景**:回调伪造成功后的取用策略
169
+
170
+ **发现**:同系统真实案例——$100 与 $10k 入账存活数小时-数天;$50k 入账 2 小时内触发对账、账号被封、支付渠道全站关闭。金额越大,对账粒度越细(大额必人工复核)。
171
+
172
+ **教训**:
173
+ ```
174
+ ① 伪造回调的正确姿势 = 小额度 + 慢节奏 + 多账号分散,不是梭哈
175
+ ② 到货立即用掉(消耗掉就是利润,看余额数字没意义)
176
+ ③ 观察运营方响应方式本身是情报:悄悄关渠道 vs 发公告 = 对账习惯
177
+ ```
178
+
179
+ **可复用性**:高(一切"伪造入账"类操作的顶层纪律)
180
+
181
+ ---
182
+
183
+ ## [业务逻辑] 订单号可预测 × 匿名查询接口
184
+
185
+ **场景**:老旧发卡/商城订单系统
186
+
187
+ **判据**:下单看订单号形态——短、含明文时间戳段+小随机段(如 `mt_rand(3)`+时间串+`mt_rand(3)`)= 可枚举。
188
+
189
+ **组合利用**:此类系统常配"零鉴权订单状态查询"(按订单号拉状态/金额)→ 枚举相邻号段批量拉取。价值:顺序 ID 泄漏、业务量估算;若状态接口顺带返回卡密则直接收割。
190
+
191
+ **可复用性**:中高(先验证形态再投入枚举)
192
+
193
+ ---
194
+
195
+ ## [未授权面] Java 监控面板一网打尽 ★
196
+
197
+ **场景**:Java 栈站点(JeeSite/Spring 系等)
198
+
199
+ **判据**:这些路径直连 200 且无鉴权——`/druid/index.html` `/druid/sql.json` `/druid/datasource.json` `/actuator/env` `/actuator/heapdump` `/druid/weburi.html`
200
+
201
+ **价值排序**:`sql.json`(历史 SQL 全量 = 表结构+敏感字段名)> datasource(连接串/账号)> weburi(真实请求样本)
202
+
203
+ **要点**:Druid 只读不能执行;但**字段名本身就是情报**——数据模型里出现"摄像头平台 URL""收款配置"类字段时,转去其他渠道取该字段的值(APP/注入/别端接口)。
204
+
205
+ **可复用性**:高(Java 目标第一步清单)
206
+
207
+ ---
208
+
209
+ ## [站群] 同指纹横扫:一个点破,全网复制 ★
210
+
211
+ **场景**:已打穿一个站(后台/弱密码/未授权任一)
212
+
213
+ **思路**:提取命中站的稳定指纹(后台页面 title/favicon hash/接口路径/响应特征)→ 测绘平台搜同指纹 → 批量验证。站群通常无中央认证,凭证/漏洞通用(实测 30+ 站同凭证一键通杀)。
214
+
215
+ **经验数据**:
216
+ - 小型精准词典(admin/admin123 类 3-5 组合)对管理后台命中率高;大字典广撒反而低效费时
217
+ - 验证码简单(纯数字 4 位)直接 OCR 自动化(准确率 99%+),不要手动
218
+ - 批量脚本先"命中判定"(一个请求)再完整利用;并发+失败静默,避免扫一半被整体 ban
219
+
220
+ **框架识别决定路由**:同类后台分多栈(Java 系 API 前缀 `/prod-api`、自研 Node、Go)——按栈选路径,登录拿 JWT 后从 API 直接吐数据。`/install` 未关的站可做**密码预言机**(差分判据:库不存在=凭据对;存在=密码错;注意这是"验密码"不直接进)。管理路径可自定义——`/admin` 404 不代表没后台。
221
+
222
+ **衍生**:不同产品线常共后端(多租户,tenant-id 硬编码=1 类);找到产品源码读多租户逻辑,可推全部租户。
223
+
224
+ **可复用性**:高(扫描-命中-扩散三段式)
225
+
226
+ ---
227
+
228
+ ## [配置面] 写接口+文件存储组合
229
+
230
+ **场景**:插件化系统(收款地址/渠道配置存插件目录文件而非数据库)
231
+
232
+ **思路**:找 `savePluginConfig` 类写接口 → 源码确认存储位置(文件路径+allowlist)→ 生效机制是监听器轮询读配置。拿到 admin 会话即可改,改后必要时即时生效。
233
+
234
+ **纪律**:此类修改常有管理日志记录——改后即用、用完还原;对账周期内可能被发现。
235
+
236
+ **判据**:DB 里找不到配置值 → 查源码确认"配置落文件"。
237
+
238
+ **可复用性**:中高
239
+
240
+ ---
241
+
242
+ ## [SSRF] 服务端抓取功能 → 云元数据链
243
+
244
+ **场景**:带"下载文件/预览 URL/抓取图片"功能的系统(AI 中转站、下载器类)
245
+
246
+ **链路**:无内网限制的 url 参数(响应体回显)→ 元数据地址(`169.254.169.254` / 云厂商内网 IP 如火山 `100.96.0.96`)→ IAM 临时凭证(STS)→ 云资源接口。
247
+
248
+ **判据**:功能语义含"服务端抓取"就先试 `127.0.0.1` 端口探测与内网段;有回显=全读 SSRF,可直接读内部 API 与元数据。
249
+
250
+ **验证细节**:STS GetCallerIdentity 返回 AccountId 才算拿稳(顺记实例 ID/私网/EIP);对象存储权限用"预签名 PUT 写入+CDN 回读"验证可控(只读拒绝不算硬证据)。
251
+
252
+ **注意**:拿到的角色权限可能是最小权限——先列权限再找提权面,别在拒权调用上耗时间。
253
+
254
+ **可复用性**:高(云上目标的标配首测项)
255
+
256
+ ---
257
+
258
+ ## [备份泄露] 源码备份扩展名矩阵
259
+
260
+ **场景**:黑站第一优先入口(成本最低、收益最大)
261
+
262
+ **矩阵**:对已知脚本路径追加——`.orig`(编辑器/部署残留)、`.bak`、`.save`、`.swp`、`~`、`.old`、`.zip`、`.tar.gz`、`.txt`、`1`、`.copy`;目录级试 `/.git/`、`/.svn/`、`/backup/`、`/www.zip`。
263
+
264
+ **命中收获**:源码=DB 凭据+业务算法(例:卡密生成=`md5(uniqid(mt_rand(),true))` 截取)+隐藏接口+白名单逻辑——一次拿全。
265
+
266
+ **可复用性**:高(新目标第一步固定动作)
267
+
268
+ ---
269
+
270
+ ## [路由] 路径解析差异绕白名单
271
+
272
+ **场景**:PHP/Java 白名单式鉴权(按路径名判断放行)
273
+
274
+ **思路**:源码里白名单用 `basename(REQUEST_URI)` 类判断,而实际路由按 PATH_INFO 分发——构造 `/card.php/queue.php`:basename 看到 `queue.php`(放行),执行的是 `card.php`(拿到 queue 逻辑)。同族:`/a.php/../b.php`、编码变体、`;` 分号参数、双写扩展名。
275
+
276
+ **判据**:读源码找"取路径的哪个部分做判断"——篡改该部分与执行部分的差异。
277
+
278
+ **可复用性**:高(通用解析差异模式)
279
+
280
+ ---
281
+
282
+ ## [内部通道] 快速登录/免密入口
283
+
284
+ **场景**:网站藏着"给内部人员用"的快捷功能
285
+
286
+ **现象**:客服/运维快捷登录页直接列出所有身份按钮(`quick_login.php?device_id=N`),零密码进后台——本应只在内网的东西暴露到公网。
287
+
288
+ **判据**:扫路径时留意 `quick_*`/`fast_*`/`auto_*`/`test_*` 命名的页面;后台 JS 里搜 `device`/`quick` 关键词。命中后优先于爆破(零成本)。
289
+
290
+ **可复用性**:中高
291
+
292
+ ---
293
+
294
+ ## [反封锁] 防火墙级封 IP 的判据与代理池
295
+
296
+ **场景**:行动中被目标封 IP
297
+
298
+ **判据**:TLS 握手直接 EOF(不是 403/404)= 防火墙级 IP 黑名单,改 UA/头无用;应用层 403 才是"换个头/账号"能救的。
299
+
300
+ **应对**:
301
+ - 提前储备代理池:公开代理列表批量验证(连通+出口 IP 确认),保留 5-10 个可用做轮换
302
+ - 被封后走代理继续轻量访问(重操作迁回本地网络)
303
+ - 观察信号:注册验证码从 none → image/复杂化 = 已被盯上,降速
304
+
305
+ **可复用性**:高(行动前先把代理池准备好)
306
+
307
+ ---
308
+
309
+ ## [开源审计] 止损判据:把"哪些面已硬化"读完再决定停
310
+
311
+ **场景**:目标用可 clone 的开源系统(网关/发卡/中转站类)
312
+
313
+ **思路**:源码级审计给出明确结论清单——例:JWT 角色读 DB 不可伪造(密钥 32 字节随机)、支付回调验签+金额双校验、卡密 16 字节随机+行锁、admin 面全 403。对每条下"已死"判定并记录依据,避免在死路上重复试错。
314
+
315
+ **边界**:审计结论要区分"代码层死"与"部署层漏"——源码硬化的功能,实测部署版本可能未启用(配置缺失=绕过窗口,如"缺公钥跳过验签"模式)。
316
+
317
+ **实例配置面别漏**:`/setup` 初始化向导未锁死可重装/接管;`init-password-hash` 类无鉴权接口返回密码指纹+是否改过默认密码的标志(每站必查的低成本探测点)。**版 diff 止损**:对比版本发布记录,确认无"未认证可利用"修复 → 判死该面。
318
+
319
+ **可复用性**:高(时间纪律)
320
+
321
+ ---
322
+
323
+ ## [人机验证] Turnstile 类硬卡点与旁路
324
+
325
+ **场景**:Cloudflare Turnstile 等强人机验证
326
+
327
+ **判据**:
328
+ - 控件在 closed shadow DOM 内 → 程序合成点击无效(isTrusted=false)
329
+ - 服务端强校验:XFF/UA/类型混淆/stub token 全拒
330
+ - 站点密钥域名白名单(错误码 110200)= 自制页面方案也不可用
331
+
332
+ **旁路思路**:
333
+ - 桌面 UA 点不动时切 **mobile UA 刷新**——往往自动通过,然后在页面取 token(一次性、约 300 秒有效)拿到脚本里用("浏览器过验证、脚本打接口"的组合拳)
334
+ - 找"未挂验证码的兄弟端点"——注册/登录挂验证码,但 send-code / send-reset-code 类辅助端点常漏挂(攻击面差异测绘)
335
+ - 真人协作:操作员手点 + token 回传(工具化:自建验证页 webhook 回传)
336
+ - 结论要诚实:硬卡点=止损,别在合成点击上耗
337
+
338
+ **可复用性**:高(Cloudflare 系已被广泛部署)
339
+
340
+ ---
341
+
342
+ ## [反限速] XFF 桶绕过合集(实测有效)★
343
+
344
+ **场景**:登录爆破/接口刷量被限速
345
+
346
+ **核心原理**:限速键含客户端 IP 时——每个新 `X-Forwarded-For` 值 = 全新限速桶(实测管理端爆破无限次)。
347
+
348
+ **伪造头清单**:X-Forwarded-For / X-Real-IP / X-Client-IP / X-Originating-IP / X-Remote-IP / X-Remote-Addr / True-Client-IP / Forwarded / CF-Connecting-IP
349
+
350
+ **进阶**:
351
+ - trust proxy 错配:绕过前置代理直打源站(IP 直连/--connect-to)→ XFF 完全可控
352
+ - 路径大小写/编码变体(`/api/Login` vs `/api/login`)、会话轮换(新会话=新桶)、IPv6 轮换
353
+ - Race window:并发打计数器读-写间隙
354
+ - 反例警示:有的系统 XFF 不绕过(两主机独立桶+90 秒窗口)——先单头测试(同请求换 XFF 看是否重置),别假设
355
+
356
+ **可复用性**:高
357
+
358
+ ---
359
+
360
+ ## [路由旁路] 无验证码端点矩阵
361
+
362
+ **场景**:主流程挂了验证码(注册/登录)
363
+
364
+ **思路**:把同一业务的所有辅助端点列全:send-code / resend / send-reset-code / reset-password / check-user / exists……逐个测验证码覆盖——常见漏挂。漏挂端点往往能撑起半个攻击链(重置码爆破、注册洪水、账号枚举)。
365
+
366
+ **判据**:对每个端点发一次最小请求看响应——要求 captcha token 的 vs 直接处理的。
367
+
368
+ **可复用性**:高
369
+
370
+ ---
371
+
372
+ ## [导出纪律] 批量拉取三原则
373
+
374
+ **场景**:从目标系统批量导出数据(卡密/订单/用户列表)
375
+
376
+ **三原则**:只读(绝不触发写/删)+ 慢速(1s/页级)+ 专用会话(curl -b 独立 cookie 文件,手拼 header 易被 session 校验拒)。
377
+
378
+ **配套**:导出先小批量验证字段正确性再全量;进度落盘可续跑;含特殊字节的响应先存原始字节再本地解析(工具链的 grep 对特殊字节有坑)。
379
+
380
+ **收尾**:导出完成后核对总数(首末页+总数接口)再声称完成。
381
+
382
+ **可复用性**:高
383
+
384
+ ---
385
+
386
+ ## [回调变体] "验签失败不 return"——SUCCESS 后缀判据
387
+
388
+ **场景**:自研支付网关 webhook(各语言自实现类)
389
+
390
+ **思路**:审查"验签失败分支"是否真的终止执行——极高频缺陷是只输出"签名校验失败"却没 return,继续往下走加账逻辑(`sign=任意` 都能打)。
391
+
392
+ **判据要精确到响应串**:含 SUCCESS 后缀 = 已处理;仅"失败"字样 = 未处理。别凭感觉——差一个后缀结论反转。
393
+
394
+ **运营侧反制认知(可迁移)**:站点常有"成功窗口"节律(可成功的间隔递增,如 8→14→21→30 分钟);被失败尝试过的订单会**永久作废**——策略是慢速探测 + 备多个新订单。真实订单号常藏在跳转 Location 里。
395
+
396
+ **可复用性**:高
397
+
398
+ ---
399
+
400
+ ## [凭据复用] 同款集群:一个 token 吃全群 ★
401
+
402
+ **场景**:同一套软件批量部署的站群(同源码/同 SaaS 采购)
403
+
404
+ **思路**:同款软件共享签名/加密密钥(JWT secret、框架 APP_KEY)——在一个站拿到的会话 token 可在**其他实例直接复用**(实测 7 站通吃)。IP 白名单要看在哪一层:金属层拦则换 IP 再打,应用层信任 token 则直接过。
405
+
406
+ **止损判据**:JWT 离线爆破 = 死路(密钥随机 32 字节+,10 万词表未中);`alg:none`/空签名/`jku`/`kid` 头注入全拒 → 别烧时间。策略是"找集群里最弱的点拿下,再横向扩散",而不是逐站硬爆。
407
+
408
+ **纪律**:token 按站归档(站×token×有效期),防串号防重复劳动。
409
+
410
+ **可复用性**:高
411
+
412
+ ---
413
+
414
+ ## [上游猎取] webhook 中继法:把出站目标改成自己的接收器 ★
415
+
416
+ **场景**:后台可编辑"上游 API 地址"且带连通性测试按钮的系统——目标拿上游凭据
417
+
418
+ **手法**:上游 `base_url` 配置改成自己的捕获器 → 触发"测试连接" → 服务端发出真实请求 → 捕获鉴权头(实测一次拿双头且无签名校验)→ **立即改回**。
419
+
420
+ **三条纪律(防事故)**:
421
+ ```
422
+ ① 选业务空闲时操作(在处理的订单=0)
423
+ ② 改之前 GET 备份原值
424
+ ③ 恢复不要依赖"当前 GET"(并发写入会读到已改值)
425
+ ```
426
+
427
+ 捕获器侧轮询取件。拿到凭据后,若上游是"暗域名"(DNS/搜索/CT 日志全无记录),需经目标主机出网或目标侧代理访问。
428
+
429
+ **可复用性**:高(拿上游密钥最省的路径)
430
+
431
+ ---
432
+
433
+ ## [源站直连] --connect-to 绕 CDN 三收益
434
+
435
+ **场景**:目标前置 Cloudflare/EdgeOne,WAF/JS 挑战挡路
436
+
437
+ **手法**:测绘找**非 CDN 直出 IP**(同 title/favicon/证书反查 + 历史 DNS)→
438
+ `curl -sk --connect-to 域名:443:IP:443 https://域名/...`(不改 hosts,证书 -k)
439
+
440
+ **三收益**:① 绕 CF 的 WAF/JS 挑战 ② 源站上的 XFF 完全可控(限速桶变无限)③ 源站防护通常弱于 CDN 层。
441
+
442
+ **找源站路径**:漏配代理的子域(mail/cdn/old 前缀)、邮件头 Received、CT 日志、同 IP 段嗅探。
443
+
444
+ **可复用性**:高(打 CF 前置站第一步)
445
+
446
+ ---
447
+
448
+ ## [人机验证] 分层破法:先解 token,再 OCR,再旁路 ★
449
+
450
+ **场景**:注册/发码/登录遇到图片或行为验证码,要规模化通过
451
+
452
+ **四层决策(成本从低到高)**:
453
+ ```
454
+ ① 解 token 结构——有的 /api/captcha 返回的 token 实为 base64(答案),解码即过
455
+ (最易被忽略、收益最高的一步:任何验证码先看一眼 token 结构)
456
+ ② OCR——纯数字 4 位图 99%+ 准确率(系统级 OCR 即可),配枚举+提交自动化;
457
+ 验证码刷新快时做重试而不是换算法
458
+ ③ 白嫖站长的打码资源——前端 JS/配置里常明文放着站长租用的打码平台 key
459
+ 或自建打码接口;少量调用(余额变动会被站长发现)
460
+ ④ 开关枚举——同一系统常有验证码开关配置(如无感模式),找不触发验证码的路径变体
461
+ ```
462
+
463
+ **极验类降级分支**:`gt=md5("123456")`+`success=0` 触发 failback 分支——只校验 `validate=md5(challenge)` 即通过(降级分支未同步加固的典型)。
464
+
465
+ **可复用性**:高
466
+
467
+ ---
468
+
469
+ ## [枚举] 用户名预言机差分法
470
+
471
+ **场景**:登录面只有"还能试几次"——先缩小目标再动字典
472
+
473
+ **判据(找响应差异,不是猜)**:
474
+ - 报错文案差异("邮箱不存在" vs "密码错误")
475
+ - 框架异常差异(用户不存在抛 500、密码错 302)
476
+ - 找回密码接口的"发送成功/失败"(先验证接口本身可用,网关坏时全失败)
477
+ - 注册页"已占用"提示
478
+ - 时序/长度差异(多轮取中位数,防随机延迟欺骗)
479
+
480
+ **纪律**:枚举出真实账号后,只对确认存在的慢速试密,避免集体锁定。
481
+
482
+ **可复用性**:高
483
+
484
+ ---
485
+
486
+ ## [LLM 猎取] 裸奔端点漏斗:测绘 → 探活 → 质检 → 甄别 ★
487
+
488
+ **场景**:批量搜刮公网暴露的 Ollama / LM Studio / llama.cpp / vLLM 端点
489
+
490
+ **四段流水线**:
491
+ ```
492
+ 测绘:FOFA 特征(product:ollama / llcpp / lms / vllm);分国家拆分查询绕分页上限;
493
+ Shodan 约 7 页后报错;无效 key 返回 HTML 401(用 grep '"matches"' 判定)→
494
+ 双 key 轮换(主失效切备并重试本页)
495
+ 探活:/api/tags(Ollama)与 /v1/models(OpenAI 兼容);200 但模型表空 = 空壳不算
496
+ 质检:真发生成算 tps,只留出字的;think:false / no_think 必带(否则思维链吃光预算)
497
+ 甄别:镜像半拉(报错 blobs/sha256- 半截)剔除;模型名含 exec/ssrf-probe 类 = 投毒端点
498
+ (集中在机房段,住宅网少);池子衰减快——每次使用前复检,ASN 库分住宅/机房排序
499
+ ```
500
+
501
+ **可复用性**:高(换指纹可复跑,脚本化落盘+断点补测)
502
+
503
+ ---
504
+
505
+ ## [计费盲区] $0 定价与免费额度猎取
506
+
507
+ **场景**:AI 中转站白嫖免费额度 / 找新开免费站
508
+
509
+ **判据**:注册后拉 `/api/pricing` 对比 `$0` 与非 `$0`——**带 `:free` 后缀的常有防滥用门槛,非 `:free` 的 $0 模型可能没走同一段检查** → 无限调用。注意视频类模型显示 $0 但实际计费(别踩)。
510
+
511
+ **注册链**:临时邮箱 + magic link(`/api/user/magic-link/verify?token=`);多租户后台操作带 `X-Team-Context` 头;幂等接口需 UUID `request_id`。
512
+
513
+ **新站猎取**:FOFA `body="<新模型名>" && body="new-api"` → 查 `/api/status` 的 `register_enabled` → 注册 → 定价对比;换分组接口多为 `PUT /api/token/{id} {group:…}`。
514
+
515
+ **可复用性**:高
516
+
517
+ ---
518
+
519
+ ## [逆向] 镜像/客户端 → 源码 → 签名密钥
520
+
521
+ **场景**:目标有自建服务端、发布镜像或 App——绕过"接口看起来无洞"的最短路径
522
+
523
+ **三路取材**:
524
+ ```
525
+ ① Docker Hub 拉目标镜像 → docker save/skopeo 解包拿后端源码(框架/业务/签名逻辑全出);
526
+ 混淆代码用反混淆工具处理
527
+ ② 从源码取三把钥匙:框架 APP_KEY(总密钥,未改=可伪造会话)、集群互信 token、
528
+ 前端签名协议 key(x-fingerprint/timestamp/nonce/signature 类,本地同算法复刻即过校验)
529
+ ③ 客户端补全 API 面:Flutter APK `strings libapp.so` 挖 API 基址与路由——
530
+ 客户端 API 常与网页 API 完全分离、且校验更弱(匿名接口/调试接口)
531
+ ```
532
+
533
+ **可复用性**:高
534
+
535
+ ---
536
+
537
+ ## [链上支付] 伪造死路四判据 + 回调差异响应分类
538
+
539
+ **场景**:卡店/机场的 USDT 等"提交交易哈希"型支付——判断能否免付
540
+
541
+ **死路四判据(叠加即放弃)**:
542
+ ```
543
+ ① 格式校验(格式错直接拒)
544
+ ② 链上实查(RPC 查存在性+确认数;金额精确匹配、容差极小;早于建单的 tx 拒)
545
+ ③ 全局认领表(tx 用过即废——FIFO 先到先得)
546
+ ④ 金额唯一制(同地址同金额在有效期拒绝,后端自动 ±0.01 避让 → 抢单死路)
547
+ 自测:把历史入账逐笔提交认领,全被拒 = 该生态死
548
+ ```
549
+
550
+ **回调保护层分类(差异响应)**:`ip not allowed`=有 IP 白名单(XFF 无效);`verification failed`=**无白名单**,只剩验签——用错误串快速筛软通道。
551
+
552
+ **生态认知**:此类生态在大规模事件后普遍加固,软肋仅剩人工审核站(真哈希+精确金额截图);审核员会查账,假图易翻车。
553
+
554
+ **可复用性**:中高(止损价值大)
555
+
556
+ ---
557
+
558
+ ## [框架 CVE] 已知 CVE 猎取与自构造 ★
559
+
560
+ **场景**:识别出目标框架(RuoYi/JeeSite/ThinkPHP/sub2api/New API 等)后系统化定位弱点
561
+
562
+ **四步思路**:
563
+ ```
564
+ ① 指纹先行——错误页格式/静态路径/Cookie 名/JS 特征确定框架与版本
565
+ ② 已知 CVE——工具 cvefetch.py 按产品名拉(境外三源:NVD 官方+GitHub PoC 聚合;
566
+ 实测 NVD 可用但慢、GitHub 搜索最快、circl 端点已失效);检索词要发散:
567
+ 产品名/包名/GitHub 仓库名/作者名/拼音(国内项目拼音命中率高);
568
+ 多找一层的渠道:GitHub issues/commits、Gitee issues、安全社区文章
569
+ ③ 补丁反推——找到修复 commit 做 diff:修了什么=哪里有洞(对未升级实例直接可用);
570
+ 版本号对比(目标版本 < 修复版本 = 命中)
571
+ ④ 自构造——无现成 CVE 时走源码审计:预认证面优先(反序列化/文件上传/模板注入/
572
+ 权限绕过/SSRF/未授权接口);国内 Java 系高频面:Shiro RememberMe、
573
+ 文件上传解析、越权接口、SQL 注入(OrderBy/表名拼接)
574
+ ```
575
+
576
+ **思维发散**:同生态交叉——同团队多产品、同框架多站、GitHub 组织名下全部仓库、Star 列表里的衍生项目,一个漏洞全生态复制。
577
+
578
+ **可复用性**:高(新目标固定动作)
579
+
580
+ ---
581
+
582
+ ## [反限速·补] AI 爬虫 UA 伪装
583
+
584
+ **场景**:站点限速/WAF 只认 UA 不验 IP(为 AI 可见性给爬虫单独配额)
585
+
586
+ **手法**:优先"用户触发型取回器" UA(行业几乎不限速)——`compatible; ChatGPT-User/1.0; +https://openai.com/bot`;备选 GPTBot / Claude-User / Perplexity-User / Google-Agent(精确串照抄 crawler-user-agents 库)。先发 1-2 个请求探测(429/403/200)确认吃不吃。
587
+
588
+ **反制**:Cloudflare `cf.client.bot` 按 IP 验证(只换 UA 无效);高端防御查 ASN(OpenAI 主 ASN 8075)。可叠加 XFF 轮换。
589
+
590
+ **可复用性**:高
591
+
592
+ ---
@@ -100,3 +100,22 @@ fastrecon 内置自动切换;dirbrute / basicauth_brute 用 --engine auto(
100
100
 
101
101
  ### 摄像头端口组(-p cam)
102
102
  80/81/88/443/554/8554/8000/8080/8081/8899/34567/37777/9527/2000/2020/1935/5000/5001/5540/7070/7447/4520/8787——覆盖 Hikvision/Dahua/XMeye/Axis/Reolink 等相机与 NVR。
103
+
104
+ ## v2.12.0:子域枚举 / 多域名情报 / fake-ip 环境自愈(2026-09-29)
105
+
106
+ ### 新命令
107
+ - `fastrecon sub example.com`:子域枚举——内置常用词表(`-w` 追加外部词典,不依赖写死的单一词表)+ 多源聚合(crt.sh 证书透明度 / hackertarget / rapiddns,并发拉取、任一可达即用)+ 来源追踪与多源交叉(`--src` 输出行附加来源标注)+ 并发解析 + 泛解析自动检测与噪声过滤(`--all` 显示全部候选;`--no-ct` 跳过外部源纯爆破)
108
+ - `fastrecon sub a.com,b.com`:多根域名一次跑(逗号列表/文件均可)
109
+ - `fastrecon multi example.com,github.com`:多域名情报——每域名一次给 A/AAAA/CNAME/NS/MX/TXT(`--types A,MX,TXT` 限定子集)
110
+
111
+ ### DNS 多类型解析(qtype)
112
+ - 支持 1=A / 28=AAAA / 2=NS / 5=CNAME / 15=MX / 16=TXT,原 A 接口行为不变
113
+ - 实测输出形态:MX → `优先级 域名`、TXT → 文本串拼接、NS/CNAME → 域名;UDP/TCP/DoT 三通道统一
114
+
115
+ ### fake-ip 环境自愈(重点)
116
+ 场景:Clash/mihomo 系代理 fake-ip 模式——DNS 返回 198.18.0.0/15 假 IP,真实连接由代理按域名转发;此时所有解析结果的 IP 均不可信。
117
+ - 检测:198.18/198.19/240 段判定;resolv.conf 的 nameserver 本身是 198.18 段 = fake-ip 网关
118
+ - 自愈链:跳过 fake 网关 → 并发探测公共 DNS(按延迟排序,结果缓存 300s 到系统临时目录)→ 用健康 DNS 拿真实 IP
119
+ - 兜底:纯 fake 无逃逸环境(公共 DNS 也不通)→ 保留原 resolver——子域存在性判定仍有效(NXDOMAIN 语义不被 fake 污染),输出标注 `[仅 fake-ip:IP 不可信,存在性有效]`
120
+ - 缓存自愈:历史缓存中的 fake 行加载时自动作废,重查写真实 IP
121
+ - 不改本地任何代理配置,工具自适应;跨平台:Linux/macOS 读 /etc/resolv.conf,Windows 直接走公共探测