upload-labs學習記錄
阿新 • • 發佈:2020-12-18
upload-labs
第一關
前端JS校驗
第二關
content-type校驗
第三關
黑名單 .php3
第四關
黑名單 .htaccess繞過
第五關
字尾大小寫繞過
第六關
### 首位去空
第七關
去除檔案末尾的點
第八關
缺少::$DATA處理
第九關
路徑拼接的是處理後的檔名 點+空格點+繞過
第十關
黑名單替換為空 雙寫繞過
第十一關
$img_path直接拼接,%00截斷繞過
第十二關
$img_path直接拼接,%00截斷繞過(POST提交,十進位制修改)
第十三關
校驗檔案頭 圖片馬繞過配合檔案包含漏洞
第十四關
圖片馬繞過 - getimagesize
和十三關一樣
第十五關
exif_imagetype() — 判斷一個影象的型別
還是圖片馬,判斷檔案頭型別
第十六關
二次渲染,圖片馬繞過
第十七關
條件競爭
這裡先將檔案上傳到伺服器,然後通過rename修改名稱,再通過unlink刪除檔案,因此可以通過條件競爭的方式在unlink之前,訪問webshell
第十八關
條件競爭
對檔案字尾名做了白名單判斷,然後會一步一步檢查檔案大小、檔案是否存在等等,將檔案上傳後,對檔案重新命名,同樣存在條件競爭的漏洞。可以不斷利用burp傳送上傳圖片馬的資料包,由於條件競爭,程式會出現來不及rename的問題,從而上傳成功