環境配置
- 需要的東西
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
- 上述安裝解壓後,開啟
phpstudy
,點選啟動
- 然後在本地瀏覽器輸入
127.0.0.1
開啟,顯示如下介面表示成功
- 將
upload-labs-master
解壓後的整個檔案目錄複製到.../PHPTutorial/WWW...
,比如我的C:\phpStudy2018\PHPTutorial\WWW
,建議是將整個檔案目錄複製過來,修改目錄名稱為upload
(複製整個目錄是因為防止檔案零散,以後不便於管理)
- 在
upload-labs-master
(重新命名的upload
) 根目錄下建立upload
資料夾,用來儲存我們上傳的檔案,如果存在就不需要建立了
- 在瀏覽器輸入
127.0.0.1/upload
或者未重新命名的127.0.0.1/upload-labs-master
,或者如果不是複製整個目錄,而是目錄中的檔案到上述目錄中,直接127.0.0.1
即可
闖關
基本就是透過檔案上傳,上傳具有攻擊性的檔案,跳過只能傳
png、jpg
等圖片格式檔案的限制
- 將
php
版本調整為php-5.2.17
- 去
phpstudy
的軟體根目錄下找到對應的版本的php
的檔案目錄下的php.ini
檔案,比如我的在C:\phpStudy2018\PHPTutorial\php\php-5.2.17
- 以記事本方式開啟這個檔案,透過
php.ini
檔案關閉magic_quotes_gpc
- 建立一個惡意檔案,如
shell.php
檔案
<?php phpinfo(); ?>
- 開啟
Burpsuit
軟體,點選open browser
- 在位址列中輸入
127.0.0.1/upload
進入靶場,然後點選pass-12
,選擇上傳的檔案,準備上傳
- 在
Burpsuite
中,點選intercept is off
變為intercept is on
- 回到靶場,點選上傳,然後回到
Burpsuite
,會發現捕捉到了資訊 - 將捕捉到的資訊修改,把
upload/
後面加上shell.php%00
(注意是零),並把filename="shell.php"
改為shell.png
,然後點選forward
放行這個請求
- 然後回到靶場主介面,會發現上傳成功了,此時按
F12
會發現上傳的檔案的存在位置
- 在瀏覽器中訪問上傳檔案的路徑(不是在那個
Burpsuite
中的那個open browser
開啟的位址列,在本地瀏覽器中),例如http://127.0.0.1/upload/upload/shell.php
,如果成功執行了 PHP 程式碼,說明攻擊成功。因為我重新命名upload-labs-master
為upload
,在這個子目錄下的upload
才是上傳檔案的儲存路徑,所以寫了兩個upload
說明:參考:https://didiplus.kwpmp.cn/archives/KLNX7S9x