中间件/组件/框架 指纹速查表
用途:识别目标是什么组件 → 查对应 CVE → 工具复现 学习策略:不用背漏洞细节,只记"端口映射 + 指纹特征 + 每类 1 个代表洞" 一句话流程:
扫端口 → 认组件 → nuclei/fscan 打模板 → 搜 CVE 复现
一、端口 → 组件映射(核心,必记)
| 端口 | 组件 | 端口 | 组件 |
|---|---|---|---|
| 21 | FTP | 7001 | Weblogic |
| 22 | SSH | 8009 | Tomcat AJP |
| 3306 | MySQL | 8080 | Tomcat / 各种 Web |
| 6379 | Redis | 8081/8082 | 中间件后台 |
| 27017 | MongoDB | 8161 | ActiveMQ |
| 445 | SMB | 8443 | HTTPS 管理口 |
| 3389 | RDP | 8848 | Nacos |
| 2375 | Docker API | 9200 | Elasticsearch |
| 11211 | Memcached | 9090 | WebLogic 管理台 / Prometheus |
| 2181 | Zookeeper | 10000 | Webmin |
| 5432 | PostgreSQL | 1521 | Oracle |
| 80/443 | Web 服务 | 2222 | SSH 改端口 |
记忆要点:高危未授权三兄弟 = Redis(6379) / MongoDB(27017) / Docker API(2375),扫到直接连一下试试。
二、组件指纹特征(看到特征 = 知道是啥)
| 组件 | 招牌特征 |
|---|---|
| Shiro | 响应 Cookie 带 rememberMe=deleteMe(最经典) |
| Fastjson | 请求体 {"@type":"..."};报错回显特征 |
| Spring | 响应头 X-Application-Context;特定报错页 |
| ThinkPHP | URL 特征(如 ?s=index/think\app/invokefunction);特定报错格式 |
| Nacos | 8848 端口 + 登录界面(默认口令 nacos/nacos 常有效) |
| Tomcat | 默认报错页;/manager/html 管理后台(弱口令) |
| Weblogic | 7001 端口 + 特定报错;/console 管理台 |
| Jenkins | 8080 端口 + Jenkins 界面(未授权 / 弱口令) |
| Log4j | 传 ${jndi:ldap://...} 看 DNSLog 是否回连 |
| JBoss | 8080 + /jmx-console、/invoker 等路径 |
| ActiveMQ | 8161 端口 + ActiveMQ 界面 |
| Elasticsearch | 9200 端口,/_cat/indices 直接可访问 |
三、每类 1 个代表洞(原理带一片,够了)
| 类别 | 代表洞 | 同类 |
|---|---|---|
| 反序列化 | Shiro 反序列化(rememberMe 密文) | Fastjson、Weblogic、JBoss、Log4j |
| 未授权访问 | Redis 未授权(写 SSH key/定时任务) | MongoDB、Docker API、Nacos、Jenkins、ES |
| 默认/弱口令 | Nacos nacos/nacos | Tomcat、Weblogic、Jenkins、SSH 爆破 |
| 任意文件读 | Spring 目录穿越(CVE-2021-21234 等) | Tomcat 任意文件、各种历史 CVE |
反序列化的核心思想(必懂):服务端把不可信数据反序列化 → 攻击者构造恶意序列化数据 → 触发代码执行。懂这一个原理,Shiro/Fastjson/Weblogic 的洞都是"换了个入口的同一个故事"。
四、工具链(2026 标配)
| 工具 | 用途 |
|---|---|
| fscan | 内网/端口扫描 + 常见漏洞一把梭(识别组件、未授权、弱口令) |
| nuclei | 用模板库自动打历史 CVE(识别到组件 → 跑对应模板) |
| nmap | 端口扫描(-sV 识别服务版本) |
| xray / goby | 被动/主动扫描(可选) |
| Wappalyzer(浏览器插件) | 前端快速看技术栈 |
实战流程:
1. nmap -sV 目标IP → 看开放端口 + 服务版本
2. fscan -h 目标IP → 自动识别组件 + 打常见漏洞
3. 根据识别结果:
- nuclei -u 目标 -t 组件/ → 跑该组件的 CVE 模板
- 或手动搜 CVE:Exploit-DB / GitHub PoC / 本地笔记
4. 复现 → 拿 flag / getshell
五、查 CVE 的资源(记住去哪查就行)
- Exploit-DB:https://www.exploit-db.com/
- nuclei 模板库:https://github.com/projectdiscovery/nuclei-templates(按组件分类)
- GitHub PoC 搜索:搜
组件名 CVE-年份 PoC - fscan 输出:识别+常见洞一键出结果
- 自己仓库的「中间件漏洞」文件夹:遇到新洞顺手记一页(触发特征 → payload → 复现截图)
六、记忆口诀
端口认组件,指纹定版本,工具打模板,查表补细节。
速查表持续补充,实战遇到新组件/新特征随时更新。