滲透測試公司 對上傳功(gōng)能的安全(quán)檢測過程分享

時間:2020-03-26浏覽數:1669

前段時間我們SINE安全(quán)收到客戶的滲透測試服務委托,在(zài)這之前,客戶網站受到攻擊,數據被篡改,要求我們對網站進行全(quán)面的滲透測試,包括漏洞的檢測與(yǔ)測試,邏輯漏洞.垂直水平越權漏洞,文件上傳漏洞.等等服務項目,在(zài)進行安全(quán)測試之前,我們對客戶的網站大體的了解了一下,整個(gè)平台(tái)網站,包括APP,安卓端,IOS端都采用的JSP+oracle數據庫架構開發,前端使用VUE,服務器是linux centos系統.下面我們将滲透測試過程裏,對文件上傳漏洞的檢測與(yǔ)webshell的分析進行記錄,希望更多的人了解什麽是滲透測試.

我們直擊漏洞根源,查看代碼在(zài)uplpod.php文件裏,可以看到有個(gè)lang變量給了language.php,并附加條件,設置的*文件都存在(zài),才可以将參數值傳遞過去,代碼截圖如下:

仔細看,我們看到代碼調用了save_file的調用方式,由此可以導緻langup值可以僞造,追蹤溯源看到該值是對應的WEB前端用戶的文件上傳功(gōng)能,在(zài)用戶文件上傳這裏,并沒(méi)有做安全(quán)效驗與(yǔ)安全(quán)白名單攔截機制,導緻可以重命名,直接将.jsp的腳本文件上傳到網站的根目錄下,包括APP也存在(zài)該漏洞.

我們SINE安全(quán)技術來滲透測試複現一下該文件上傳漏洞是如何利用的,首先登錄會員,并打開個(gè)人資料頁面,有個(gè)文件上傳功(gōng)能,裏面隻允許上傳圖片格式的文件,隻允許上傳JPG,PNG,GIF,等後綴名的文件,以普通的圖片文件來上傳,我們抓取POST的上傳數據包,将cont1的路徑地址改爲(wéi)/beifen/1.jsp,并提交過去,返回數據爲(wéi)成功(gōng)上傳.複制路徑,浏覽器裏打開,發現我們上傳的JSP腳本文件執行了,也再一次的證明該漏洞是足以導緻網站數據被篡改的,在(zài)這之前客戶的網站肯定被上傳了webshell網站木馬文件,随即我們對客戶的網站源代碼進行全(quán)面的人工安全(quán)檢測與(yǔ)分析,對一句話木馬特制eval,加密,包括文件上傳的時間點,進行檢查,發現在(zài)網站的JS目錄下存在(zài)indax.jsp,浏覽器裏打開訪問,是一個(gè)JSP的腳本木馬,可以對網站進行篡改,下載代碼,新建文件,等網站管理員的操作(zuò),同理APP端也是存在(zài)同樣的漏洞.調用的文件上傳功(gōng)能接口是一樣.具體的webshell截圖如下:

到這裏我們隻是滲透測試的一方面,主要是檢測的文件上傳功(gōng)能是否存在(zài)漏洞,是否可以重命名,自定義上傳路徑以及文件格式繞過,關于滲透測試中發現的文件上傳漏洞如何修複,我們SINE安全(quán)給大家一些修複建議與(yǔ)辦法,首先對文件的上傳格式進行限制,隻允許白名單裏的jpg,png,gif等格式的文件上傳,對自定義的路徑地址進行變量覆蓋,不允許更改路徑地址.對上傳的目錄做腳本的安全(quán)限制,去除JSP的腳本執行權限.


http://www.qdshtddzkj.com

産品推薦