最近在找檔案上傳漏洞比較多。現在發現比較難找了,一是檔案校驗比前幾年的更加嚴格了,黑名單還可以想辦法繞過,白名單就相對困難了。
最近發現一個getshell的方法,原理是利用檔案更新上傳帶有shell的壓縮包。
https://github.com/idreamsoft/iCMS/issues/41
參考這個漏洞。在更新的時候上傳有shell的壓縮包,因為沒有對壓縮包進行校驗,是以直接解壓成功了。
然後我本地測試,發現并沒有他所說的那麼繁雜的步驟,直接把上傳的壓縮包位址就可以了
然後我們再看看這個怎麼修複
加了正則判斷,判斷壓縮包是否符合格式要求。
因為壓縮包上傳後,會被重命名了,是以很難構造出這個格式,就比較難繞過了。