天天看點

Web 應用層分類和識别

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/39250079

現在,也許很少有人知道Corba吧,那些了解orb的人是很容易了解web service乃至于現在的Web應用。

一個web應用一般可以分為5橫1縱,即5個水準層和1切面:

1)運作環境:作業系統,Web 容器,CGI等

2)應用架構:Thinkphp,rails,django等

3)應用本身:論壇,社交,部落格等

4)前端架構:AngularJS,jQuery,Bootstrap等

5)第三方的内容混搭:Google AD,mashup 等

一個切面就是各層對應的各種插件體系。

一個web 應用可以從Http頭,Html資料 和 特定的URL或檔案等諸多方面獲得相關的特征。

  • Http 頭分為請求頭資訊和相應頭資訊,請求頭資訊一般包括Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Cookie等;響應頭資訊一般包括Cache-Control,Date,Content-Type,Server,X-Powered-By.Set-Cookie,content-Encoding等。
  • HTML資料包括:中繼資料,作者,Powered by,Html注釋 <!-- -->,網頁的架構,特殊頁面等。
  • 特定的URL或檔案包括:特定的靜态檔案内容(css、js、html、txt),特定靜态檔案的 MD5 (2進制檔案等),特定目錄 (或多個目錄組合)等

根據特征分類,可以識别出不同的應用類型,發現很多有意思的事情。

有時間看看國外的項目吧:WhatWeb,Blind Elephant,WAFP(Web Application Finger Printing) ,Wapplyzer .......