1. 程式人生 > 實用技巧 >Upload-Labs-Pass-01

Upload-Labs-Pass-01

Upload-Labs-Pass-01

在這裡插入圖片描述
我們嘗試直接上傳小馬,
建立一個木馬檔案
在這裡插入圖片描述
進行上傳
在這裡插入圖片描述
提示到該檔案不允許被上傳,在這裡我們可以知道這裡是利用了js檢測,此時上傳檔案的資料包並沒有上傳到服務端,只是在客戶端瀏覽器使用Javascript對資料包進行檢測。

**原理:**在選擇檔案時,會呼叫JS的selectfile函式,函式的作用是先將檔名轉換為小寫,然後通過substr獲取檔名最後一個點號後面的字尾(包括點號)。如果字尾不是.jpg則會彈窗提醒。如果上傳檔案沒有錯,再通過file_exists判斷在upload目錄下檔案是否已經存在,不存在就通過move_uploaded_file將檔案儲存在upload目錄。

在這裡有兩種方法可以繞過客戶端Javascript的檢測
1.使用瀏覽器的外掛,刪除檢測檔案字尾的js程式碼,然後上傳檔案即可繞過。
2.先把檔案字尾改為允許上傳的字尾,來繞過js的檢測,再抓包,把字尾名改為可執行檔案的字尾名即可上傳成功。

在此我使用第二種方法進行演示
首先將需要上傳的檔案字尾改為允許上傳的字尾,如jpg,png,gif
在這裡插入圖片描述

上傳,並抓包
在這裡插入圖片描述
修改此處字尾,將jpg修改為php,放包
在這裡插入圖片描述
上傳成功,因為我們上傳的並不是一張圖片,所以沒有顯示。
在這裡插入圖片描述
嘗試使用蟻劍進行連線
使用蟻劍連線前,我們需要知道所上傳檔案的位置
將上傳的檔案在瀏覽器上拖動到新視窗即可
在這裡插入圖片描述
在蟻劍上新建連線
在這裡插入圖片描述
成功
在這裡插入圖片描述

本教程僅供學習使用,不得用於非法用途!!!