在對網(wǎng)站進行滲透測試的時候,發(fā)現(xiàn)很多網(wǎng)站都在使用squid反向代理系統(tǒng),該系統(tǒng)存在可以執(zhí)行遠程代碼的漏洞,很多客戶找我們SINE安全做滲透測試服務(wù)的同時,我們會先對客戶的網(wǎng)站進行信息搜集工作,包括域名,二級域名收集,網(wǎng)站使用的反向代理系統(tǒng),網(wǎng)站程序開發(fā)語言,是否使用開源的代碼,以及網(wǎng)站后臺路徑收集,都在前期滲透中需要做的。
前段時間某一個客戶網(wǎng)站使用的就是squid反向代理系統(tǒng),客戶APP,以及網(wǎng)站后臺都被攻擊者篡改,被惡意提現(xiàn),會員注單篡改,銀行卡號篡改,充值通道篡改,給客戶帶來了很大的經(jīng)濟損失,通過老客戶介紹找到我們SINE安全,我們對該情況進行詳細的了解,針對實際情況,定制了詳細的滲透測試服務(wù)方案。關(guān)于squid系統(tǒng)漏洞的檢測,我們來詳細的介紹一下:squid是開源的一套網(wǎng)站反向代理系統(tǒng),可以對網(wǎng)站進行加速,緩存,有些網(wǎng)站訪問較慢,就會在國內(nèi)的服務(wù)器節(jié)點做反向代理,加速網(wǎng)站的快速訪問,將圖片,以及JS文件,css文件進行緩存,還有一個好處通過squid可以隱藏網(wǎng)站的真實IP。squid支持很多種TCP協(xié)議,包括80端口的http協(xié)議,F(xiàn)TP的21端口協(xié)議,HTTPS433端口的協(xié)議,都可以進行反向代理,簡單易用受到很多開發(fā)者的喜歡。
squid漏洞產(chǎn)生的原因在于緩沖區(qū)溢出導(dǎo)致可以執(zhí)行遠程代碼,當反向代理收到cachemgr的請求時候,會使用parseheaders這個函數(shù)接口,將請求來的參數(shù)進行解析操作,并賦值于后端去,正常應(yīng)該對請求的參數(shù)進行字數(shù)限制,而該請求并沒有對字數(shù)多少進行限制,導(dǎo)致可以寫入base64代碼進行數(shù)據(jù)溢出,當長度超過squid的安全限制后,就會執(zhí)行惡意的代碼。漏洞的利用方式是,構(gòu)造惡意的代碼,使用FTP協(xié)議的方式進行請求 request-uri,將base64代碼加密,提交到服務(wù)器中去,就可以達到滲透服務(wù)器的權(quán)限。
當服務(wù)器執(zhí)行惡意代碼后,就會產(chǎn)生一個webshell到網(wǎng)站的根目錄下,從而對網(wǎng)站進行控制,該webshell也叫網(wǎng)站木馬后門,相當于網(wǎng)站的管理員權(quán)限,可以寫入文件,修改文件,修改數(shù)據(jù)庫等操作,通過對客戶網(wǎng)站的滲透測試發(fā)現(xiàn),導(dǎo)致被篡改的問題根源,是squid系統(tǒng)存在漏洞,隨即我們SINE安全對客戶的squid漏洞進行了修復(fù),對base64代碼的長度進行了限制,防止溢出,并對所有的請求包括get,post.cookies的請求都進行了字符長度限制。
產(chǎn)品推薦