框架识别方法论(Web 框架/组件指纹)

框架识别方法论(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,最后工具兜底。


速查表持续补充,实战遇到新框架/新特征随时更新。