Peter 工程日誌

如何基本的分析網站-以某寵物醫療網站為例

前言

如何分析一個網站,在某些情形下是需要的,原因是透過網站的分析能夠找到此網站是如何建立、推測使用的技術與拆解一套網站的過程,這將對於日後開發網站與使用的各項技術有所依據。本文章中,透過一個寵物醫療網站,並以不同的角度來分析此網站如何開發而成,並從分析的過程中找到有趣的地方。

目標網站

首先,我們需要有目標網站,以「https://drfurkids.com/index.php」連結為例,進入此網站後能夠進入到此網站的首頁。接著,開始從連結部分進行初步的分析。

連結分析

依據網站連結,我們能夠拆解成幾個項目:

網站功能分析

從首頁的網站分析,我們能夠知道此網站有「Home」、「最新消息」、「醫療團隊」、「收費方式」、「常見問題」、「聯絡我們」與「會員註冊」等功能,我們以「會員註冊」為例;點擊進入之後,會看到有「手機號碼」與「驗證碼」作為輸入的欄位,隨意輸入手機號碼與驗證碼後,分別按下「傳送簡訊」與「下一步」,整個網站就會卡住,若在此時按下「F12」進入網頁開發人員的控制台,則我們可以得知有多個請求正在「pending」中,這代表多數由網頁瀏覽器所發送的請求尚未結束與與收到回應內容,我們推斷此會員註冊的功能異常或是已經失效。

更糟糕的情況是,當在此會員註冊頁面(register.php)進行重新整理,則整個頁面會卡住,而最終出現「503 Service Unavailable」之HTTP狀態碼。

另外,從瀏覽器的開發人員控制台中,我們可以發現到處於pending狀態的請求為:「https://drfurkids.com/_AjaxApi/_AjaxReq.php」網址,這代表有問題的後端與PHP程式碼為「_AjaxReq.php」;若透過網頁瀏覽器瀏覽:「https://drfurkids.com/_AjaxApi/」,則我們能夠發現具有網站目錄遍歷的特性,我們就能夠更進一步去瀏覽去推測每支前端與後端程式之目的與對應可能的功能;從遍歷出來的目錄能夠得知此HTTP Server為Apache。

從前述的遍歷後的目錄,舉「_AjaxDocdata.php」為例,我們點擊後會回應一組基於JSON編碼的字串:「{“status”:0,”data”:”\u627e\u7121\u6b64\u65b9\u6cd5″}」。

將此JSON字串解析後,得到的結果如下:

{
"status": 0,
"data": "找無此方法"
}

從結果得知,此後端PHP程式仍有在運作且有依據基本邏輯執行相對應的回應。

結論

從前述的基本網站分析,我們能夠得知一個網站整體使用的技術與開發方式,透過這樣的分析作法,同時也能夠更進一步推測網站可能潛在哪些的漏洞與哪些功能已經失效,後續我們就能夠朝向以下的方式各別進行:

 

Exit mobile version