文件上傳漏洞解決方案
1. 最有效的,將文件上傳目錄直接設置為不可執行,對於Linux而言,撤銷其目錄的'x'權限;實際中很多大型網站的上傳應用都會放置在獨立的存儲上作為靜態文件處理,一是方便使用緩存加速降低能耗,二是杜絕了腳本執行的可能性;
2. 文件類型檢查:判斷文件類型,強烈推薦白名單方式,結合MIME Type、后綴檢查等方式;此外對於圖片的處理可以使用壓縮函數或resize函數,處理圖片的同時破壞其包含的HTML代碼;
3. 使用隨機數改寫文件名和文件路徑:一個是上傳后無法訪問;再來就是像shell.php.rar.rar和crossdomain.xml這種文件,都將因為重命名而無法攻擊。
4. 單獨設置文件服務器的域名:由於瀏覽器同源策略的關系,一系列客戶端攻擊將失效,比如上傳crossdomain.xml、上傳包含Javascript的XSS利用等問題將得到解決。