<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    一個文件上傳漏洞靶場

    VSole2022-08-26 15:27:12

    靶機說明:

    步驟Web應用程序是一組輪詢的背景圖像,同時它也允許上傳自己圖像。

    檢測內容

    首先頁面本身沒有透露什么太有趣的內容。那就從模糊測試開始,看看能不能找到更多內容:

    ffuf -w /usr/share/wordlists/dirb/big.txt -u http://jewel.uploadvulns.thm/FUZZ
    

    果然成功找到了更多的目錄。快速瀏覽一下 CSS,你就會發現旋轉的背景圖像是從目錄/content/中獲取的。該目錄/admin/顯示一條注釋,這就說明可以在這里激活一些模塊。

    其他目錄并沒有顯示出其他什么有用的內容。

    檢測使用的技術

    下一步是找出頁面使用了什么技術,同時看看它們可能引用了哪些模塊類型。因此我用Wappalyzer檢查了一下頁面:

    這里顯示出來的是在Express框架上運行的node.js應用程序。

    在子目錄中查找內容

    接下來我檢查子目錄去查找其他內容。提供的單詞列表中的命名模式與圖像的命名模式匹配,因此我也使用該列表檢查/content/目錄。

    ffuf -w ./UploadVulnsWordlist.txt -u http://jewel.uploadvulns.thm/content/FUZZ.jpg
    

    果然,它找到了四個用作背景的圖像。

    獲取反向shell的腳本

    因為我知道該應用程序是一個Node.js應用程序,所以我從PayloadsAllTheThings那里得到了一個反向shell,并更改了IP /端口來匹配自己服務器:

    上傳shell

    本來想說嘗試上傳腳本,但它被阻止了。不過這是一個由JavaScript觸發的消息,因此我使用Burp歷史記錄來檢查加載的腳本文件。

    然后我就找到了罪魁禍首,客戶端驗證代碼:/assets/js/upload.js

    如果要攔截JavaScript文件,我需要更改代理選項以攔截JS文件,因為默認情況下Burp Proxy是不會攔截它們的:

    刪除條件^.js$后,使用Ctrl-F5重新加載頁面來實現強制完全刷新。

    upload.js請求被攔截時,再指示Burp攔截其響應(Do Intercept->Response to this request)并刪除上面標記的行。

    雖然我已經試圖重新上傳了,但它還是失敗了,這次是在服務器端完成的驗證。

    在理想情況下,服務器應執行客戶端執行的所有驗證。畢竟客戶端驗證只是為了可用性。最終的安全性只能通過服務器端驗證來提供。

    不過現實很骨感,服務器執行了其他驗證。我將文件擴展名更改為jpg并重試上傳。這一次它成功了。

    查找已上傳的shell

    我剛剛上傳的文件在任何目錄中都找不到其已知文件名。然后我使用提供的單詞列表重新運行目錄的模糊測試。

    這一次,我在那里找到了一個額外的文件:

    獲取反向shell

    /admin/頁面上,我可以激活/modules/目錄中的模塊,服務器應該強制它不接受任何其他位置。

    我剛剛上傳的文件位于/content/ .不過可能沒有適當的驗證來防止路徑遍歷。

    然后我在我的機器上啟動一個監聽器nc -nvlp 8888,并通過其相對路徑激活模塊:../content/WON.jpg

    我收到的 shell 顯示應用程序以 root 身份運行。因此,不需要權限提升,我可以立即獲得flag:

    shell
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    研究人員在TorchServe中發現多個高分漏洞,影響數萬AI 服務器。
    通過從事件日志中寫入/讀取 shellcode 來實現持久化。
    shellcode loader的編寫
    2023-04-17 11:15:39
    改變加載方式指針執行#include?參數1:分配的內存的起始地址,如果為NULL則由系統決定。參數2:分配的內存大小,以字節為單位。參數3:分配的內存類型,MEM_COMMIT表示將分配的內存立即提交給物理內存,MEM_RESERVE表示保留內存但不提交。參數4:分配的內存保護屬性,PAGE_READWRITE可讀可寫,PAGE_EXECUTE_READ可執行可讀。結構體的指針,用于指定新線程的安全屬性,NULL表示默認安全屬性
    shellcode動態注入!
    2023-01-24 10:15:10
    聲明:本人堅決反對利用文章內容進行惡意攻擊行為,一切錯誤行為必將受到懲罰,綠色網絡需要靠我們共同維護,推薦大
    跟第一代WebShell管理工具“菜刀”相比,冰蝎的流量是加密的,特征更不明顯,能有效規避流量設備的檢測。
    shellcode編寫探究
    2022-06-09 15:34:57
    前言shellcode是不依賴環境,放到任何地方都可以執行的機器碼。shellcode的應用場景很多,本文不研究shellcode的具體應用,而只是研究編寫一個shellcode需要掌握哪些知識。要使用字符串,需要使用字符數組。所以我們需要用到 LoadLibrary 和 GetProcAddress 這兩個函數,來動態獲取系統API的函數指針。
    OneEDR 2.5版本讓惡意Webshell“現原形”
    今天腦子里面蹦出來個想法,免殺木馬然后cs上線,本來想讓cs與msf聯動的,但是出了點小問題,還是先研究免殺火絨吧。
    shell編程15例(三)
    2022-03-25 07:43:19
    1、統計當前 Linux 系統中可以登錄計算機的賬戶有多少個 #!/bin/bash # 統計當前 Linux 系統中可以登錄計算機的賬戶有多少個 #方法 1: grep "bash$" /etc/passwd | wc -l #方法 2: awk -f: '/bash$/{x++}end{print x}' /etc/passwd
    shell編程15例(一)
    2022-03-23 07:53:04
    1、編寫hello world腳本 #!/bin/bash # 編寫hello world腳本 echo "Hello World!" 2、通過位置變量創建 Linux 系統賬戶及密碼 #!/bin/bash # 通過位置變量創建 Linux 系統賬戶及密碼
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类