當(dāng)前位置:首頁 >  IDC >  安全 >  正文

ecshop 漏洞如何修復(fù) 補(bǔ)丁升級(jí)與安全修復(fù)詳情

 2018-09-21 17:12  來源: 用戶投稿   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

目前ecshop漏洞大面積爆發(fā),包括最新版的ecshop 3.0,ecshop 4.0,ecshop2.7.3全系列版本都存在著高危網(wǎng)站漏洞,導(dǎo)致網(wǎng)站被黑,被篡改,被掛馬,許多商城系統(tǒng)深受其漏洞的攻擊,給商城的運(yùn)營者以及網(wǎng)站運(yùn)營者帶來很大的經(jīng)濟(jì)損失,甚至有些ecshop還被跳轉(zhuǎn)到了一些惡意網(wǎng)站上去。那么ecshop漏洞如何修復(fù)呢?

首先我們要先了解下ecshop漏洞的發(fā)生根源,我們SINE安全工程師對(duì)其所有版本的代碼進(jìn)行了全面的人工安全檢測,以及網(wǎng)站漏洞檢測,發(fā)現(xiàn)ecshop根目錄下的user.php文件存在遠(yuǎn)程代碼執(zhí)行sql注入漏洞,我們對(duì)ecshop的user.php進(jìn)行查看,在302行里我們發(fā)現(xiàn)了安全問題:

back_act這個(gè)變量的值來自于前端post提交方式的數(shù)據(jù)中,包含的http_referer這個(gè)函數(shù)里,這個(gè)函數(shù)可以插入惡意的sql注入代碼,為什么可以插入呢?原理很簡單,ecshop商城使用的模板引擎是采用smarty引擎,這個(gè)引擎在國內(nèi)是比較有名的,大多數(shù)都會(huì)調(diào)用到一些常用的參數(shù),比如assign,display這兩個(gè)常用的引擎函數(shù),由于assign的函數(shù)是需要模板執(zhí)行的時(shí)候才能賦值,所以首先運(yùn)行的就是smarty模板引擎,前端會(huì)讀取模板文件然后將值給賦值到函數(shù)當(dāng)中去,那么傳遞過來的值就可以插入惡意的遠(yuǎn)程執(zhí)行代碼,并傳入到服務(wù)器端進(jìn)行執(zhí)行。

我們來看下模板引擎文件,如下圖所示:

從上圖中的函數(shù)echash,首先會(huì)調(diào)用一個(gè)user password的一個(gè)模板文件,在這個(gè)模板文件中來變量賦值,進(jìn)行模板引擎的解析操作,也就是說會(huì)把引擎里的assign函數(shù)注冊(cè)到變量里去,并進(jìn)行模板解析,返回到insert_mod函數(shù)進(jìn)行網(wǎng)站交互處理。

ecshop漏洞利用 使用exp代碼,在post數(shù)據(jù)包中我們抓取一下,然后偽造referer:插入:

Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:

{s:3:”num”;s:72:”0,1 procedure analyse(extractvalue(rand(),concat

(0x7e,version())),1)– -“;s:2:”id”;i:1;}

這個(gè)是查詢數(shù)據(jù)庫版本的一個(gè)sql注入語句,執(zhí)行后會(huì)返回?cái)?shù)據(jù)到前端,如下圖:

上圖已經(jīng)返回了數(shù)據(jù)庫的版本信息,那么攻擊者就可以構(gòu)造遠(yuǎn)程代碼執(zhí)行數(shù)據(jù)庫操作,上傳木馬后門到網(wǎng)站里去,并進(jìn)行篡改網(wǎng)站即可。

ecshop 3.0版本的漏洞,是因?yàn)槁┒串a(chǎn)生的原因在于includes目錄下safety.php 文件,這個(gè)代碼文件主要是限制一些惡意參數(shù)的寫入,會(huì)自動(dòng)匹配一些數(shù)據(jù)庫查詢語句,不管是加密還是都會(huì)攔截這些惡意的參數(shù),包括數(shù)據(jù)庫的執(zhí)行語句,但是在整個(gè)代碼的安全檢測中我們發(fā)現(xiàn)這個(gè)ecshop3.0竟然可以執(zhí)行命令,利用playload進(jìn)行編碼繞過,就可以執(zhí)行遠(yuǎn)程命令,包括可以使用union聯(lián)合查詢。

ecshop 漏洞修復(fù)

關(guān)于ecshop4.0 漏洞修復(fù)我們可以對(duì)根目錄下的includes文件夾下的lib_insert.php這個(gè)文件進(jìn)行編寫,將asrr [num]跟ID這兩個(gè)值,進(jìn)行強(qiáng)制的轉(zhuǎn)換成整數(shù)型,這樣導(dǎo)致SQL語句無法執(zhí)行了,就可以修復(fù)ecshop4.0版的漏洞,那么ecshop2.7.3以及.ecshop3.0版本的網(wǎng)站,目前官方并沒有漏洞修復(fù)補(bǔ)丁,建議網(wǎng)站運(yùn)營者先將user.php改名,或者刪除,并對(duì)網(wǎng)站進(jìn)行防篡改部署,限制修改,只允許讀取操作,對(duì)網(wǎng)站進(jìn)行sql防注入部署,對(duì)http_referer里的值進(jìn)行非法參數(shù)攔截,并做攔截日志記錄,如果對(duì)安全不是太懂的話建議找專業(yè)的網(wǎng)站安全公司來修復(fù)漏洞,做好網(wǎng)站安全部署,國內(nèi)SINE安全公司,綠盟,啟明星辰,都是比較不錯(cuò)的安全公司。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
安全漏洞
安全補(bǔ)丁
ECSHOP

相關(guān)文章

熱門排行

信息推薦