發表文章

目前顯示的是有「File Upload Vulnerabilities」標籤的文章

操作系統命令注入攻擊(3)

圖片
  操作系統命令注入攻擊(3) 靶機 IP : 192.168.203.192 攻擊機 IP : 192.168.45.250 目標描述 : 枚舉機器 VM。找到 Web 應用程序並訪問系統。該標誌可以在C:\inetpub\中找到。 起手式 rustscan └─$ rustscan -a 192.168.203.192 -u 5000 -t 8000 --scripts -- -n -Pn -sVC  由題目描述與掃描結果看來是台 Windows 題目告知由 Web 下手,就先看看那些是 Web Services Port 看來是 80 or 8000 80 是 IIS Default Page 8000 是個購物網,看來就是從這下手了,下方有個支援檔案上傳的功能 先上傳一個 test.txt 看來成功,接著上傳一個 php 檔案也成功 PS : 但他是一個 IIS, 應該要用 asp 較好才對,至少先證實他沒有檔 現階段先去找找看我們上傳的 test.txt 檔案可否讀到,先跑 gobuster 查看相關路徑 └─$ gobuster -w "directory-list-2.3-medium.txt" dir -u http://192.168.203.192:8000/ -t 150 -x .txt                           測試了一番甚麼都沒有,記得我們還有一個 HTTP Port 80,一樣用 gobuster 試試看 指令 : └─$ gobuster -w "directory-list-2.3-medium.txt" dir -u http://192.168.203.192/ -t 150 -x .txt     第一個就掃到了,所以在 8000 Port 網站上傳的檔案可以透過 80 Port 讀取到 透過 Browser 開開看,確定是剛剛上傳的檔案沒錯 因為是 IIS,所以開始丟 asp or aspx 檔案,檔案在 kali 底下都有 路徑在 /usr/share/webshells/asp or /usr/shar...

文件上傳漏洞 (使用非可執行文件)

圖片
 文件上傳漏洞 (使用非可執行文件) 靶機 IP : 192.168.203.16 攻擊端 IP : 192.168.45.250 第一步,先掃端口 rustscan -a 192.168.203.16 -u 5000 -t 8000 --scripts -- -n -Pn -sVC  開了三個 Port : 22 / 8000 / 2222 22 / 2222 分別都是 ssh, 8000 是 http 那就先開網站吧 http://192.168.203.16:8000,一樣有個檔案上傳功能 測試 test.txt 可以成功上傳 執行測試 indes.php 等上傳的檔案發現上傳的檔案存在根目錄 一樣丟個後門檔案 php-reverse-shell.php上去 寫好連線本機的 6667 Port 存取該網頁,結果發現網站將它直接當成文件類型開啟,不執行該 php 檔案 此為標準的非可執行文件網站 換一個思路,先測試 ../../../../../../../test.txt 可否上傳成功,發現可以上傳成功 透過檔案上傳來覆蓋 /root/.ssh/authorized_keys 的方式看看可否成功 先建立一對 ssh 公私鑰,指令 ssh-keygen 並取名叫 newsshkey 將 Public Key 改名為 authorized_keys --> cat newsshkey.pub > authorized_keys 將剛剛上傳成功的 test.txt 送到 Burp Suite 並修改檔案路徑如下 "test.txt" --> "../../../../../../../../root/.ssh/authorized_keys" 雖然不知道遠端系統有否支援相對路徑的檔案上傳覆蓋功能 但結果來看檔案是上傳成功的 在檔案上傳的原有路徑去存取該檔案也是不存在的 此時我們假設是真的有覆蓋 root 的 Key,那就讓我們直接測試看看 若系統支援有連線過相關 ssh 可能會直接用 cache 所以可以先下 rm ~/.ssh/known_hosts 將所有記憶的 key 先清除,即便沒有也可以下該指令買保險一下是最安全的 接著就用我們本機的私鑰連線看看吧, 22/2222 都是 ssh 直接先測試 222...

文件上傳漏洞 (使用可執行文件)

圖片
 文件上傳漏洞 ( 使用可執行文件 ) 涵蓋以下學習目標: 了解文件上傳漏洞 了解如何識別文件上傳漏洞 探索利用文件上傳漏洞的不同途徑 文件上傳漏洞分為三類: 第一類 : 上傳可由 Web 應用程序執行的文件。 例如,如果我們可以將 PHP 腳本上傳到啟用了 PHP 的 Web 服務器,我們就可以通過瀏覽器或 curl 訪問它來執行該腳本。除了 PHP 之外,還可以在其他框架或服務器端腳本語言中利用此類漏洞。 第二類 : 需要將文件上傳機制與另一個漏洞(例如目錄遍歷)結合起來。 例如,如果Web應用程序容易受到目錄遍歷的攻擊,可以在文件上傳請求中使用相對路徑,並嘗試覆蓋 authorized_keys 等文件。此外還可以將文件上傳機制與 XML 外部實體 (XXE) 或跨站點腳本(XSS) 攻擊結合起來。 例如,當被允許將頭像上傳到 SVG 文件類型的配置文件時,可能會嵌入 XXE 攻擊來顯示文件內容甚至執行代碼。 第三類 : 依賴於用戶交互。 例如,當發現求職申請的上傳表單時,則可以嘗試上傳集成了惡意 .docx 格式的 office 文件簡歷 。由於此類別需要有人訪問我們上傳的文件,因此很多靶機上傳後需要等待一段時間才會發作。 如果 Web 站台是 CMS 通常可以上傳文件或是大頭貼若是一般網站有些也會有上傳文件等功能設計,若有上傳功能存在又有漏洞,最簡單的方式就是透過上傳機制來實現程式碼執行並建立反向的 shell 是最好的侵入方式 靶機練習開始 目標某網站特定網頁有支援文件上傳功能相關資訊如下,目標是 C:\xampp\passwords.txt 靶機 : 192.168.203.189 本機 : 192.168.45.250 開啟靶機的網頁如下 http://192.168.203.189/meteor/ 先測試上傳一個 test.txt 成功如下圖 上傳一個 simple-backdoor.php 發現有鎖 .php 上傳 所以這時候可以用繞過測試,例如上傳 .phps or .php7 或是將檔名從 .php 變換大小寫為 .pHP 測試看看,發現改大小寫即可成功上傳 另外透過目錄查找測試,發現上傳的檔案位於此路徑下 /meteor/uploads/* 讀取測試一開始上傳的 test.txt 檔案如下 http:/...