框架识别方法论(Web 框架/组件指纹)
用途:看到目标 → 确定它是什么框架/组件 → 知道该打什么
核心思想:识别目的 = 知道该打什么,不需要 100% 精确,工具会兜底
组合拳:响应头/插件先猜 → 报错页/默认路径确认 → 工具验证
一、识别流程总览(照这个顺序走)
第1步 响应头 Server / X-Powered-By / X-Application-Context
第2步 浏览器插件 Wappalyzer(快速线索,可被伪造,仅参考)
第3步 报错探测 触发404/非法参数,看框架默认错误页(最可靠)
第4步 默认路径 /actuator、/wp-admin、/console、?s= 等
第5步 Cookie/Session JSESSIONID、PHPSESSID、rememberMe
第6步 主动探测 对目标发特定请求看回显
第7步 工具兜底 whatweb / fscan / nuclei(自动识别+匹配模板)
二、响应头速查(第1步)
| 响应头 |
含义 |
Server: nginx / Apache / IIS |
Web 服务器 |
X-Powered-By: PHP/7.4 |
PHP |
X-Powered-By: ASP.NET |
ASP.NET |
X-Application-Context: application |
Spring Boot(基本实锤) |
X-AspNet-Version: 4.0 |
ASP.NET |
Via / X-Generator |
代理 / 生成器线索 |
三、报错页特征(第3步,最可靠)
| 报错特征 |
框架 |
Whitelabel Error Page |
Spring Boot |
| 特定的 404 页面样式 |
Tomcat |
| ThinkPHP 风格报错 |
ThinkPHP |
| 标准 Nginx 404 |
Nginx |
| 语法错误/堆栈回显 |
PHP / .NET |
触发方式:访问不存在的路径、提交非法参数、故意制造异常
四、默认路径 / 路由特征(第4步,硬指纹)
| 路径/特征 |
框架/组件 |
/actuator/env、/actuator/health |
Spring Boot |
/wp-admin、/wp-login.php |
WordPress |
/console |
Weblogic |
/manager/html |
Tomcat |
?s=index/think\app/invokefunction |
ThinkPHP |
?index.php?s=... |
ThinkPHP |
/index.php?m=&c=&a= |
老 PHP 框架 |
/vendor |
Laravel |
/admin |
各种后台 |
五、Cookie / Session 特征(第5步)
| Cookie |
含义 |
rememberMe=deleteMe |
Shiro(实锤) |
JSESSIONID |
Java 系(Tomcat/Weblogic/Jetty) |
PHPSESSID |
PHP |
ASP.NET_SessionId |
ASP.NET |
六、主动指纹探测(第6步)
| 探测动作 |
识别目标 |
访问 /actuator/env 看返回 |
Spring Boot |
访问 /wp-login.php |
WordPress |
访问 /index.php?s=index/think\app/invokefunction |
ThinkPHP(顺便可打 RCE) |
传 ${jndi:ldap://dnslog} 看回连 |
Log4j |
七、工具兜底(第7步,安全感来源)
whatweb 目标 # 命令行指纹
fscan -h 目标 # 扫描+识别+常见洞
nuclei -u 目标 -t 组件模板/ # 按组件打 CVE 模板
工具模板按框架分类,识别和利用一步到位——你只需要确认结果。
八、识别出来之后:常见框架 → 该打什么
| 识别结果 |
优先测试方向 |
| Spring Boot |
/actuator 信息泄露、SpEL、历史 RCE CVE |
| Shiro |
rememberMe 反序列化 |
| Fastjson |
@type 反序列化 |
| ThinkPHP |
历史 RCE(如 5.0.23 远程代码执行) |
| Weblogic |
反序列化 / 未授权(7001) |
| Tomcat |
弱口令 manager、AJP 文件读取 |
| WordPress |
插件漏洞、弱口令 |
| Laravel |
密钥泄露 → 反序列化 |
记忆口诀
头看响应,错看报错,路看路径,标识看Cookie,最后工具兜底。
速查表持续补充,实战遇到新框架/新特征随时更新。