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注釋、某框架特有的路徑、特有的腳本變量等信息。
這些信息大多放在<head> </head>標記之間,<Meta>標記內部、或者頁面尾部。
HTML源碼中可識別框架:
常見的特征
%framework_name%
powered by
built upon
running

特有的特征

框架 關鍵字
Adoble ColdFusion <!-- START headerTags.cfm
Microsoft ASP.NET __VIEWSTATE
ZK <!-- ZK
Business Catalyst <!-- BC_OBNW -->
Indexhibit ndxz-studio

4、特有文件和目錄

每個不同的框架都有特有的文件和目錄。在滲透測試過程中,建議測試人員自己搭建相應框架以便更好的理解框架的基礎結構,並確定服務器上的遺留文件。

三、加固措施

建議使用多種工具測試並查看日志,從而知道哪些工具可以使得攻擊者識別出Web框架。
HTTP頭: 檢查配置、禁用或混淆所有可能泄露所用技術的HTTP頭。
Cookies: 建議通過修改相應的配置文件來改變Cookie名稱。
HTML源代碼: 刪除暴漏框架信息的可視標記、移除不需要的注釋、移除Meta和作者標簽、css和js腳本文件不存儲在與框架有關的文件夾內、頁面上禁止使用默認腳本。
特有的文件和目錄: 刪除服務器上所有不必要和不使用的文件、使用404錯誤響應來限制從外部訪問其他文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM