22HuNan伺服器

zyToJH發表於2024-03-31

檢材連結

連結:https://pan.baidu.com/s/1WD4M4u4gYOrwejX-oWz6rQ
提取碼:huri
--來自百度網盤超級會員V4的分享

案情介紹

基本案情:某地警方接到報案稱某網站疑似傳銷平臺,經調查,獲取到網站伺服器映象,請分析映象,回答以下問題。

題目解析

前期工作(相信大佬都輕輕鬆鬆,這裡不再過多介紹)

映象模擬+火眼解析+基礎資訊檢視+歷史命令檢視+網路配置+xshell連線

三個映象,全部放到火眼裡解析,前面兩個web的猜測是網站伺服器,最後一個是資料庫伺服器

我們xftp一下,看看各個伺服器中都有什麼

web.e01(乍一看是前端的字樣,點進去一看確實有dist檔案,確定是前端)

web.e02(前面那個是前端,那麼這個就是後端程式了)

的確是一個後端程式,因為看到了jar包

至此,基本可以確定網站的架構--前後端分離,站庫分離,資料庫在data.e01的映象裡

開始做題

1、網站搭建所使用的JDK的版本號。(答題格式:1.1.11.8.0

百度一下,jdk-8u281是1.8.0版本

2、請找出該網站與使用者通訊的令牌秘鑰。(答題格式:QIANXIN_ADMIN_GOOD_ADMIN_1123!@#_ABCD

這裡考的其實是jar的配置檔案,與後面的網站重構有一定聯絡

來到後端程式的伺服器,發現一共有三個jar包,全部下載,並解壓,看看裡面有什麼

manger的jar包

merchant的jar包

有兩串,不知道是什麼,先放一放,但是大機率是mangager的那個,一般admin、mangager這種字樣的更加靠近正確答案

3、請找出網站的日誌存放路徑。(答題格式:/www/qianxin/logs

這題感覺有點問題,不管

一般網站的日誌會放在中介軟體的目錄下

4、網站後臺登入頁面,發起獲取驗證碼請求的js指令碼檔案的SHA256雜湊值是多少。(答題格式:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

這裡就開始需要網站重構了,說一下整體的思路

既然是一個前後端分離,又和資料庫分離的網站,我們從最後端的資料庫開始

資料庫伺服器的埠開放情況看到了熟悉的3306和67379,一個是mysql另一個是redis,猜測一下大機率後端的jar包是一個springboot的框架,好像一般都這麼設定

資料庫服務起了,接著是後端,jar包的啟動大有講究

先去看伺服器的歷史命令,發現有start.sh啟動指令碼,指令碼也很容易找到,就在jar包的那個目錄

一開始我模仿嫌疑人的操作,直接./start.sh啟動,因為後面網站一直起不來,問了師兄,建議直接java -jar啟動

看jar包啟動的報錯,一個jar包一個啟動介面

啟動,發現果然是一個springboot的後端程式,依次啟動其他兩個

ok,現在後端程式起來了,最後是前端的配置

前端是個nginx的伺服器,我們直接去找nginx的配置nginx.conf發現主配置檔案沒什麼特別的

但存在include語句,我們定位到conf目錄

果然存在配置檔案

開啟,發現有root 並且定位到了伺服器的資源,說明是一個有效的nginx配置檔案

開啟hosts檔案,將server_name定位到自己設定的區域網ip,訪問

成功找到後臺

這裡發現網站後臺雖然找到了,但並不代表網站重構成功了

首先我們發現驗證碼沒有,沒有驗證碼,意味著即時知道賬號密碼也無法進入,卡了好久,水平不足,最後問了伺服器的專家,得到解決

主要是碰到問題,我們要懂得怎麼去解決

這裡使用瀏覽器的控制檯來追蹤網站請求F12,還有別忘了啟動nginx服務,不然怎麼訪問都訪問不到

分析一下結果,200代表正常,也就是都能訪問到,發現這裡除了captchaIamge都是正常的,訪問的域名都是front開頭,也就是前端的資源,而back-admin就是後端,說明後端jar包程式有問題,或者代理不正確

驗證碼是需要後端程式的邏輯處理的,所以後端一定出了問題,但jar包啟動沒問題啊,想的應該就是nginx的配置出了問題,改配置

的確配置檔案有問題

172開頭是原來的ip,需要改成自己的ip,取證重構時必須要注意現在的網路環境並不是和嫌疑人使用時一模一樣,需要更改,一般都是這些中介軟體的配置檔案,還有一些資料庫連線的配置檔案

這裡把反向代理改掉,改為後端的ip,最好看看埠對應,把三個nginx的配置全部更改後,重啟nginx服務,這時候應該不會報502的錯誤了,我們來試試!

此時,我們發現之前502的錯誤成功被修復了!

但之後又出現新的問題,因為驗證碼圖片仍舊未顯示!

出現新的報錯,說redis服務資源未能請求,發現是驗證碼請求時報的錯

200說明瀏覽器可以請求到該資源,但仍未顯示,那就一定是jar包,也就是後端程式的錯誤了

此時,我們想起來jar包沒有做過任何的修改,連線不到也算正常,我們下一步就修改jar包的配置檔案

雖然報錯是redis服務,但是因為是有兩個資料庫,我們把mysql的配置一塊更改了

好了,修改完成,啟動新的jar包!

這樣,驗證碼就應該能修復了,前端配置良好,後端與資料庫的配置也設定過了,這次應該可以了吧

但是,問題又出現了

發現仍舊報這個錯誤!折騰了好一會兒,發現是寶塔的防火牆,我們趕緊把防火牆關閉

這裡發現了一個冷知識

寶塔的防火牆的開關

service firewalld stop可以把寶塔皮膚的防火牆關閉

但是systemctl disable/stop firewalld並不可以關閉防火牆,需要手動在寶塔皮膚中關閉

網站重啟成功,至於網站的密碼,放在了mysql的資料庫中,自行解密,不再多說

成功進入後臺

5、網站後臺一共釋出了幾篇文章。(答題格式:12

5篇

6、網站後臺顯示的“提現稽核”模組共多少條記錄。(答題格式:1234

這也是這套題不好的一個地方,這裡看到沒什麼資料,說明資料庫的資料並不完整,需要我們還原,這裡又涉及到hbase和hadoop叢集的啟動和命令

關於後面的網站後臺資料分析以及hbase的叢集啟動及相關問題可以看我的另一篇文章《hadoop叢集》

這裡不再過多敘述!

附上一張本題網站架構圖!

對於本套題的收穫

這套小小的伺服器賽題前前後後做了有兩三天,但收穫不少

做得慢有做得慢的原因,對java網站不夠熟悉,nginx配置檔案不熟悉,jar包啟動和修改,前後端分離的架構設定

防火牆、ip等的細節差錯,和伺服器取證的專家相比,差距還是很大的

在取證中難免會遇到報錯、不會的情況,這時候如何去尋找錯誤就很重要

像我們使用F12除錯的時候,如果出現500的錯誤,一般是後端程式,也就是本題中的jar包,而如果出現400的錯誤,那麼一般是代理的問題

這些都是取證中不斷總結下來的知識與經驗!

補充知識點

jar包程式的修改--網站登入逆向的應用

參考文章:https://zhuanlan.zhihu.com/p/679562855

相關文章