File uploads
1. 發現點
個人相片上載
資料上載
任何東西上載
2. 測試Payload
1️⃣ 啟動 Burp Suite & 攔截請求
開啟 Burp Suite
確保 Intercept 開啟:
進入 Proxy > Intercept is on(確保攔截功能開啟)
嘗試上傳一個合法的
.jpg
圖片在 Web 應用中選擇一張 正常的圖片(
test.jpg
)點擊 上傳,Burp Suite 應該會攔截這個請求
2️⃣ 送請求到 Intruder
在 Burp 中右鍵請求
右鍵
→Send to Intruder
(Ctrl + I
)
切換到 Intruder 標籤
點擊 Intruder > Target
確保 目標 URL 是正確的(檢查
Host
)
3️⃣ 設定攻擊點 (Positions)
進入 Positions 分頁
點擊
Clear §
清除預設標記手動標記測試點:
文件名擴展名測試點
觀察回應
確保
Attack type
選擇 Sniper(單點測試)
4️⃣ 設定 Payloads
📌 測試文件擴展名繞過
切換到
Payloads
分頁Payload Set 選擇 1
Payload type 選擇 Simple list
輸入以下可能繞過的擴展名:
手動標記測試點:
文件名擴展名測試點
取消勾選「對這些字元進行 URL 編碼」(
URL-encode these characters
)
5️⃣ 設定 Payloads
📌 測試 Content-Type 繞過
選擇
Payload Set 2
Payload type 選擇 Simple list
輸入可能繞過的
Content-Type
取消勾選「對這些字元進行 URL 編碼
3. 如果文件成功上傳,但無法執行,可以透過 LFI 讀取 Web Shell!
使用 XXE 提取上傳文件內容
1️⃣ 發送 XXE 載荷來讀取上傳文件的內容:
2️⃣ 回應可能會包含 Base64 編碼的 Web Shell:
使用
base64 -d
來解碼:
如果已知 Web Shell 存放路徑,可以利用 LFI 直接執行:
upload.php 的資料,然後知道儲存的位置
4.bypass技巧
5. 訓練
⭐
⭐⭐
⭐⭐⭐
⭐⭐⭐⭐⭐
最后更新于
这有帮助吗?