溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞

發(fā)布時(shí)間:2021-12-28 09:47:13 來(lái)源:億速云 閱讀:159 作者:柒染 欄目:安全技術(shù)

本篇文章為大家展示了怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

2018年9月1日,阿里云態(tài)勢(shì)感知發(fā)布預(yù)警,近日利用ECShop全系列版本的遠(yuǎn)程代碼執(zhí)行漏洞進(jìn)行批量化攻擊量呈上升趨勢(shì)。該漏洞利用簡(jiǎn)單且危害較大,黑客可通過(guò)WEB攻擊直接獲得服務(wù)器權(quán)限。

漏洞原理    

該漏洞產(chǎn)生的根本原因在于ECShop系統(tǒng)的user.php文件中,display函數(shù)的模板變量可控,導(dǎo)致注入,配合注入可達(dá)到遠(yuǎn)程代碼執(zhí)行的效果。使得攻擊者無(wú)需登錄等操作,直接可以獲得服務(wù)器的權(quán)限。

首先從user.php文件入手,代碼中可以看到,系統(tǒng)讀取HTTP_REFERER傳遞過(guò)來(lái)的

內(nèi)容賦值給$back_act變量。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(/user.php)

 接著以$back_act的值為參數(shù),調(diào)用assign方法。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞 (/user.php)

assign方法的作用是把可控變量傳遞給模版函數(shù),緊接著再通過(guò)display方法展示

到頁(yè)面上。接下來(lái)跟進(jìn)display內(nèi)部的insert_mod方法。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(/includes/cls_template/php)

insert_mod方法返回了一個(gè)動(dòng)態(tài)函數(shù)調(diào)用,該函數(shù)名和參數(shù)均可控,根據(jù)攻擊者

的利用方法,我們可以得知調(diào)用的函數(shù)名為insert_ads,接下來(lái)跟進(jìn)這一方法。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(/includes/lib_insert.php)

不難發(fā)現(xiàn),$arr['id']和$arr['num']這兩個(gè)變量,都是外部可控的輸入點(diǎn),在構(gòu)造攻

擊向量的過(guò)程中執(zhí)行的SQL語(yǔ)句如下。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞  (打印$sql變量)

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(sql語(yǔ)句執(zhí)行結(jié)果)

接著,程序調(diào)用了fetch方法,參數(shù)由$row['position_style']變量賦值,這一變量同樣為外部可控輸入點(diǎn)。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(/includes/lib_insert.php)

這里fetch函數(shù)調(diào)用了危險(xiǎn)函數(shù),這就是最終觸發(fā)漏洞的點(diǎn)。但是參數(shù)在傳遞之前

要經(jīng)過(guò)fetch_str方法的處理。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞(/includes/cls_template.php)

最終輸入點(diǎn)依次經(jīng)過(guò)fetch_str、select、get_val,最終傳入make_var方法。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞 (/includes/cls_template.php)

最終傳遞到eval的字符串為:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞到此,漏洞原理分析完成,攻擊者的惡意代碼執(zhí)行成功。

漏洞攻擊利用實(shí)例

阿里云態(tài)勢(shì)感知于2018年8月1日監(jiān)控到云上首例此漏洞利用。黑客通過(guò)HTTP 請(qǐng)求頭的Referer字段植入惡意代碼如下:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞當(dāng)黑客惡意代碼成功被執(zhí)行后,會(huì)嘗試訪問(wèn)鏈接:'http://uee.me/MrJc',具體的payload代碼如下所示:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞其中http-//uee.me/MrJc是一個(gè)短連接,其完整的url為:http-//www.thaihaogo.com/images/201608/4.jpg。

此文件下載到成功后會(huì)重命名為1.php,實(shí)際上4.jpg文件就是一個(gè)混淆后的php木馬。

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞去除混淆部分,將木馬執(zhí)行邏輯還原如下:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞該木馬中的PHP代碼會(huì)去下載一個(gè)功能齊全的WEB木馬,地址為:http-//i.niupic.com/images/2017/05/26/Lfkavl.gif,該WEB木馬的功能詳情如下:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞

漏洞影響

阿里云應(yīng)急中心測(cè)試發(fā)現(xiàn),ECShop全系列版本(包括2.x、3.0.x、3.6.x)均存在該遠(yuǎn)程代碼執(zhí)行漏洞。阿里云態(tài)勢(shì)感知數(shù)據(jù)研究中心監(jiān)控的數(shù)據(jù)顯示,該漏洞利用難度低,影響面廣,并已經(jīng)發(fā)現(xiàn)有批量入侵跡象,需要存在相關(guān)業(yè)務(wù)的用戶及時(shí)關(guān)注并進(jìn)行修補(bǔ)。

專家建議

在官方補(bǔ)丁沒(méi)放出之前,我們建議站長(zhǎng)可以修改include/lib_insert.php文件中相關(guān)漏洞的代碼,將$arr[id]和$arr[num]強(qiáng)制將數(shù)據(jù)轉(zhuǎn)換成整型,該方法可作為臨時(shí)修復(fù)方案將入侵風(fēng)險(xiǎn)降到最低。需要修改的部分代碼如下:

怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞

上述內(nèi)容就是怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI