upload-labs-master第12關詳細教程

星竹z發表於2024-11-22

環境配置

  1. 需要的東西

phpstudy-2018
連結: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q
提取碼:0278

32位 vc9和11執行庫
連結: https://pan.baidu.com/s/1pBV3W8UWJe0bmDl_cPFDQw
提取碼:0278
upload-labs-master 靶場
連結: https://pan.baidu.com/s/1ERYzrlBe94PAi3A-WagLAw
提取碼:0278

Burpsuite 安裝
官網: Professional / Community 2024.9.5 | Releases

  1. 上述安裝解壓後,開啟 phpstudy,點選啟動

QQ_1732271061098

  1. 然後在本地瀏覽器輸入 127.0.0.1 開啟,顯示如下介面表示成功

QQ_1732271133489

  1. upload-labs-master 解壓後的整個檔案目錄複製到 .../PHPTutorial/WWW...,比如我的 C:\phpStudy2018\PHPTutorial\WWW,建議是將整個檔案目錄複製過來,修改目錄名稱為 upload(複製整個目錄是因為防止檔案零散,以後不便於管理)

QQ_1732271315958

  1. upload-labs-master (重新命名的 upload) 根目錄下建立 upload 資料夾,用來儲存我們上傳的檔案,如果存在就不需要建立了

QQ_1732271489255

  1. 在瀏覽器輸入 127.0.0.1/upload 或者未重新命名的 127.0.0.1/upload-labs-master ,或者如果不是複製整個目錄,而是目錄中的檔案到上述目錄中,直接 127.0.0.1 即可

QQ_1732271596089

闖關

基本就是透過檔案上傳,上傳具有攻擊性的檔案,跳過只能傳 png、jpg 等圖片格式檔案的限制

  1. php 版本調整為 php-5.2.17

QQ_1732269806040

  1. phpstudy 的軟體根目錄下找到對應的版本的 php 的檔案目錄下的 php.ini 檔案,比如我的在 C:\phpStudy2018\PHPTutorial\php\php-5.2.17

QQ_1732269997308

  1. 以記事本方式開啟這個檔案,透過 php.ini 檔案關閉 magic_quotes_gpc

QQ_1732269944884

  1. 建立一個惡意檔案,如 shell.php 檔案
<?php phpinfo(); ?>
  1. 開啟 Burpsuit 軟體,點選 open browser

QQ_1732274370172

  1. 在位址列中輸入 127.0.0.1/upload 進入靶場,然後點選 pass-12 ,選擇上傳的檔案,準備上傳

QQ_1732274460548

  1. Burpsuite 中,點選 intercept is off 變為 intercept is on

QQ_1732274491172

  1. 回到靶場,點選上傳,然後回到 Burpsuite ,會發現捕捉到了資訊
  2. 將捕捉到的資訊修改,把 upload/ 後面加上 shell.php%00(注意是零),並把 filename="shell.php" 改為 shell.png,然後點選 forward 放行這個請求

QQ_1732274612857

  1. 然後回到靶場主介面,會發現上傳成功了,此時按 F12 會發現上傳的檔案的存在位置

QQ_1732274800535

  1. 在瀏覽器中訪問上傳檔案的路徑(不是在那個 Burpsuite 中的那個 open browser 開啟的位址列,在本地瀏覽器中),例如 http://127.0.0.1/upload/upload/shell.php ,如果成功執行了 PHP 程式碼,說明攻擊成功。因為我重新命名 upload-labs-masterupload,在這個子目錄下的 upload 才是上傳檔案的儲存路徑,所以寫了兩個 upload

QQ_1732274875195

說明:參考:https://didiplus.kwpmp.cn/archives/KLNX7S9x

相關文章