文章目錄
- 白名單的繞過處理方法
- 白名單繞過 upload-labs-Pass-02 [修改MIME檔案型別]
- 白名單繞過 upload-labs-Pass-12 [%00截斷]
白名單的繞過處理方法
采用后綴名的繞過方法 如MIME修改、%00截斷、0x00截斷
白名單繞過 upload-labs-Pass-02 [修改MIME檔案型別]
MIME檢測并不是檢測后綴名,是檢測檔案型別,雖然不檢測后綴名,但是屬于白名單機制,
先分析一下 upload-labs-Pass-02 的原始碼



白名單繞過 upload-labs-Pass-12 [%00截斷]
這里有個點要說一下, upload-labs-Pass-12 與 upload-labs-Pass-11 同樣都可以使用 %00 截斷的方式繞過,區別在于 upload-labs-Pass-11 是通過 $_GET 獲取圖片存盤路徑,而 upload-labs-Pass-12 是通過 $_POST 方式獲取圖片存盤路徑的,
利用 $_POST 獲取圖片存盤路徑時使用的 %00 截斷是無法正常決議的需要重新進行URL編碼,
[這里有個大坑]
在upload后面加上12.php+(添加+是為了方便改hex值)

通過 burpsuite 修改 hex 值為 00 進行截斷,
把 2b(’+'的 hex) 修改成 00

或者直接在upload后面加上12.php%00,然后選中%00實施URL-decode


關于這里的坑需要說一下, %00 截斷這個方法僅適用于小于 PHP 5.2.4 的版本,且 php.ini 中 magic_quotes_gpc=off 的狀態下才適用,而我從docker上下載的鏡像檔案的版本是 5.2.17 版本的還是安裝在Ubantu系統下,所以11關與12關無法利用 %00 突破,如果是WIN系統環境利用PHP study 安裝的綠色版的 upload-labs ,通過降低 PHP版本就可以使用 %00、 0x00 截斷的方式突破上傳,
upload-labs 官方Git地址 https://github.com/c0ny1/upload-labs
[真尼瑪坑]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297084.html
標籤:其他
上一篇:SpringSecurity框架
