1. 程式人生 > 其它 >檔案上傳靶場upload-labs實戰

檔案上傳靶場upload-labs實戰

前言

來具體學習一下檔案上傳的相關知識,參考教程:https://blog.csdn.net/qq_43390703/article/details/104858705,dalao寫的很全面了,後續我應該還會再補上一個上傳user.ini配置檔案的。

Pass-01

前端F12刪除CheckFile無法繞過,檢視原始碼,發現後臺對副檔名進行了過濾,限制只能傳圖片,上傳png一句話木馬,burp抓包修改副檔名為php後放包,蟻劍連線即可。

Pass-02

和Pass-01同樣的方法處理即可,我們來看看原始碼:

  • file_exists:檢查所給的檔案或目錄是否存在,若存在則返回true;
  • move_uploaded_file(file, newloc):將指定檔案file移動到新目錄newloc;
  • $_FILES['file']['type']:檔案的MIME型別,在資料包的Content-Type中可以看到;
  • $_FILES['file']['tmp_name']:檔案被上傳後在服務端儲存的臨時檔名;
  • $_FILES['file']['name']:檔案在客戶端主機上的原名稱;

首先檢查是否存在上傳路徑,之後對檔案的MIME型別進行判斷(可以用burp抓包修改),判斷是否為jpeg,png或gif圖片;之後宣告temp_file和img_path是為了後面move_upload_file。總的來說只有一層MIME型別驗證,所以和上一題使用同種方法即可。(或者先上傳php檔案,抓包改Content-Type也可以)

Pass-03

先和第一題一樣處理,但被ban了,應該是後端要過濾副檔名了:

這些副檔名不讓用,改成phtml檔案,可以成功上傳。