Skip to content

添加 swagger 子路径探测与 knife4j 指纹 - #217

Merged
cn-kali-team merged 2 commits into
0x727:mainfrom
P0m32Kun:add-swagger-subpath-knife4j
Sep 17, 2026
Merged

cn-kali-team merged 2 commits into
0x727:mainfrom
P0m32Kun:add-swagger-subpath-knife4j

Conversation

@P0m32Kun

Copy link
Copy Markdown
Contributor

改动

  1. swagger 指纹增加子路径web-fingerprint/00_unknown/swagger.yaml 的 path 增加 {{BaseURL}}/swagger-ui.html{{BaseURL}}/swagger-ui/index.html。Springfox / springdoc 的典型部署里 swagger-ui 挂在子路径、根路径是业务页无特征,现有规则(仅 /)识别不到这两类形态;与 alibaba/nacos.yaml/ + /nacos/ 双路径是同款模式。
  2. 新增 knife4j 指纹web-fingerprint/00_unknown/knife4j.yaml。knife4j 是国内常用的 Swagger 增强 UI,入口固定为 /doc.html,页面特征词 knife4j / SwaggerBootstrapUi

验证

三层验证(2026-09-16,observer_ward 2026.6.28,官方库替换 swagger 条目并追加 knife4j 后 -p 加载):

  1. 官方发行文件实弹swagger-ui-dist@5.33.0(npm)部署于 /swagger-ui/index.html 命中 swaggerknife4j-openapi3-ui@4.5.0(Maven Central)的 doc.html 命中 knife4j;普通首页无误报。
  2. FOFA 测绘侧特征印证body="SwaggerBootstrapUi" 939 资产(title 全为 swagger-bootstrap-ui 家族,区分度好);body="swagger-ui.css" && body="swagger-ui-bundle.js" 共现 40.8 万资产;body="swagger-ui.html" 引用形态 9,671 资产。
  3. 补充:knife4j 4.x 的 doc.html(Vue SPA 启动页 1.9KB)含 Knife4j 一词(case-insensitive 命中);SwaggerBootstrapUi 在 4.x 页面不再出现,condition: or 下单词命中即识别,老版本 swagger-bootstrap-ui 部署仍靠该词覆盖。

成本说明

合并后每 web 目标多 3 个探测请求(两个 swagger 子路径 + /doc.html),与 nacos 双路径的既有成本同级。

- swagger: path 增加 /swagger-ui.html 与 /swagger-ui/index.html(Springfox/springdoc
  典型部署形态,根路径无特征时现有规则识别不到;与 nacos 的 / + /nacos/ 双路径
  同款模式)
- knife4j: 新增条目,入口固定 /doc.html,匹配 knife4j / SwaggerBootstrapUi 特征

本地验证(observer_ward 2026.6.28):官方库替换 swagger 条目+追加 knife4j 后,
对模拟的 Springfox 子路径部署与 knife4j /doc.html 均命中,普通首页无误报。
@P0m32Kun

Copy link
Copy Markdown
Contributor Author

Note: the pre-commit check failure is not caused by this PR — the job fails at the cache-restore step before any hook runs (getCacheEntry failed: Our services aren't available right now). The same failure has affected every run of this workflow since Nov 2025, including pushes to main (e.g. run 28501391084). The two YAML files added here pass yaml.safe_load validation locally.

@cn-kali-team
cn-kali-team merged commit dd7ca4e into 0x727:main Sep 17, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants