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