Web渗透——识别web应用框架
一、概述
Web框架指纹识别是信息收集过程中的一个重要任务。获悉目标框架的类型必然为测试人员带来极大的优势,如果该框架在之前就被测试过。测试人员不仅可以获得未修补版本中存在的漏洞,还可以了解此框架中特有的错误配置以及已知的文件结构。从而使指纹识别过程显得格外重要。
二、测试方法
黑盒测试
可以查找几个最常见的位置来确定当前框架:
1、HTTP 头 2、cookies 3、HTML源代码 4、特殊文件和文件夹
1、HTTP 头
最基本识别web框架的方式是查看HTTP响应报头中的X-Powered-By字段。许多工具可以用来识别目标的指纹,最简单一个是netcat。 如:X-Powered-By: Mono //web应用框架是Mono
2、cookies
更可靠的方法是查看HTTP请求包(注意是请求包)特有的Cookies,如:Cookie: CAKEPHP=sidfiwhefjdcsfowjoef; //web应用框架是CakePHP常见cookies中可识别框架:
框架 | cookie名 |
Zope | zope3 |
CakePHP | cakephp |
Kohana | kohanasession |
Laravel | laravel_session |
3、HTML 源代码
查看HTML注释、某框架特有的路径、特有的脚本变量等信息。 这些信息大多放在 标记之间,标记内部、或者页面尾部。 HTML源码中可识别框架:常见的特征 |
%framework_name% |
powered by |
built upon |
running |
特有的特征
框架 | 关键字 |
Adoble ColdFusion | |
Indexhibit | ndxz-studio |