APP滲透測試 對(duì)文件上傳功能的安全檢測與webshell分析
  • 更新時(shí)間:2024-10-23 05:45:23
  • 建站經(jīng)驗(yàn)
  • 發(fā)布時(shí)間:2年前
  • 442

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


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


仔細(xì)看,我們看到代碼調(diào)用了save_file的調(diào)用方式,由此可以導(dǎo)致langup值可以偽造,追蹤溯源看到該值是對(duì)應(yīng)的WEB前端用戶的文件上傳功能,在用戶文件上傳這里,并沒有做安全效驗(yàn)與安全白名單攔截機(jī)制,導(dǎo)致可以重命名,直接將.jsp的腳本文件上傳到網(wǎng)站的根目錄下,包括APP也存在該漏洞。


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


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

我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對(duì)接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿意為止,多一次對(duì)比,一定讓您多一份收獲!

本文章出于推來客官網(wǎng),轉(zhuǎn)載請(qǐng)表明原文地址:https://www.tlkjt.com/experience/8624.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部