滲透測試公司 對網站文件上傳漏洞的安全掃描與檢測

  • 2019 年 10 月 6 日
  • 筆記

很多客戶網站以及APP在上線運營之前都會對網站進行滲透測試,提前檢測網站是否存在漏洞,以及安全隱患,避免因為網站出現漏洞而導致重大的經濟損失,客戶找到我們SINE安全做滲透測試服務的時候,我們都會對文件上傳功能進行全面的安全測試,包括文件上傳是否可以繞過文件格式,上傳一些腳本文件像php,jsp,war,aspx等等,繞過上傳目錄,直接上傳到根目錄下等等的一些漏洞檢測。

那什麼是文件上傳漏洞?我們SINE安全來給大家講解一下:簡單來說,文件上傳就是可以上傳一些文件到網站以及APP里,大部分的網站都只允許上傳圖片格式文件,以及文檔類的文件,之所以要做滲透測試就是要檢測該上傳功能是否存在漏洞,程式源程式碼里有沒有對POST過來的上傳數據進行安全效驗,以及文件後綴名的檢查,有些客戶網站並沒有做安全效驗,導致可以直接上傳webshell(也叫網站木馬後門)到網站中。

當文件上傳功能出現漏洞就可以直接執行網站木馬文件,該webshell可以對網站程式碼進行操作,上傳,下載,編輯,以及資料庫操作,執行惡意的遠程程式碼到伺服器中,都是可以的,相當於網站的管理員許可權了,該漏洞的危害性較大。可能會導致用戶的數據泄露,以及資料庫被篡改。

根據我們SINE安全多年的滲透測試經驗來看,客戶網站存在文件上傳漏洞的地方總結如下:

1.會員上傳頭像功能

2.上傳文檔功能

3.提交意見回饋+截圖上傳

4.添加文章的圖片上傳

5.留言功能上傳圖片

存在的上傳漏洞類型:文件擴展名繞過漏洞,以及文件解析漏洞,content-type繞過漏洞,文件名大小寫繞過上傳漏洞,文件頭繞過漏洞,JS前端繞過上傳漏洞,我們SINE安全滲透測試這麼多客戶當中,出現JS前端繞過漏洞頻率最多,很多程式設計師在設計程式碼過程中,只對JS前端的訪問用戶做了安全效驗,並沒有對網站後端做安全效驗,導致可以直接修改後綴名進行上傳腳本文件。我們來舉例看下:

首先該上傳功能在前台網站當中是公開的,任何一個註冊的會員都可以上傳,在更換頭像這裡,可以自定義選擇圖片進行上傳,我們通過抓包截圖post的數據包,並修改資料庫里的filename值,將擴展名修改為jsp,php就可以直接上傳到網站中。

關於滲透測試中文件上傳漏洞的修復辦法是:對文件上傳的格式做白名單設置,值允許上傳jpg,png,gif,等的圖片格式文件,如果後綴名不是以上三種,直接返回上傳失敗,再一個對文件程式碼做安全效驗,不僅僅是在JS里做判斷,還要在後端做安全效驗,對上傳的目錄地址進行鎖定,指定上傳的目錄地址,對圖片的文件夾目錄做無執行腳本許可權,防止運行JSP,PHP,ASP等腳本的webshell文件。如果您對網站目前是否存在上傳漏洞,可以找專業的滲透測試公司,中國SINE安全,啟明星辰,綠盟都是比較不錯的安全公司,網站前期上線之前一定要做滲透測試,全方位的檢測網站存在哪些漏洞,提前修復,促使後期網站平台的發展有序進行,不會因為漏洞而導致業務終止。