您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎樣分析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變量。
(/user.php)
接著以$back_act的值為參數(shù),調(diào)用assign方法。
(/user.php)
assign方法的作用是把可控變量傳遞給模版函數(shù),緊接著再通過(guò)display方法展示
到頁(yè)面上。接下來(lái)跟進(jìn)display內(nèi)部的insert_mod方法。
(/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)這一方法。
(/includes/lib_insert.php)
不難發(fā)現(xiàn),$arr['id']和$arr['num']這兩個(gè)變量,都是外部可控的輸入點(diǎn),在構(gòu)造攻
擊向量的過(guò)程中執(zhí)行的SQL語(yǔ)句如下。
(打印$sql變量)
(sql語(yǔ)句執(zhí)行結(jié)果)
接著,程序調(diào)用了fetch方法,參數(shù)由$row['position_style']變量賦值,這一變量同樣為外部可控輸入點(diǎn)。
(/includes/lib_insert.php)
這里fetch函數(shù)調(diào)用了危險(xiǎn)函數(shù),這就是最終觸發(fā)漏洞的點(diǎn)。但是參數(shù)在傳遞之前
要經(jīng)過(guò)fetch_str方法的處理。
(/includes/cls_template.php)
最終輸入點(diǎn)依次經(jīng)過(guò)fetch_str、select、get_val,最終傳入make_var方法。
(/includes/cls_template.php)
最終傳遞到eval的字符串為:
到此,漏洞原理分析完成,攻擊者的惡意代碼執(zhí)行成功。
阿里云態(tài)勢(shì)感知于2018年8月1日監(jiān)控到云上首例此漏洞利用。黑客通過(guò)HTTP 請(qǐng)求頭的Referer字段植入惡意代碼如下:
當(dāng)黑客惡意代碼成功被執(zhí)行后,會(huì)嘗試訪問(wèn)鏈接:'http://uee.me/MrJc',具體的payload代碼如下所示:
其中http-//uee.me/MrJc是一個(gè)短連接,其完整的url為:http-//www.thaihaogo.com/images/201608/4.jpg。
此文件下載到成功后會(huì)重命名為1.php,實(shí)際上4.jpg文件就是一個(gè)混淆后的php木馬。
去除混淆部分,將木馬執(zhí)行邏輯還原如下:
該木馬中的PHP代碼會(huì)去下載一個(gè)功能齊全的WEB木馬,地址為:http-//i.niupic.com/images/2017/05/26/Lfkavl.gif,該WEB木馬的功能詳情如下:
阿里云應(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)降到最低。需要修改的部分代碼如下:
上述內(nèi)容就是怎樣分析ECShop全系列版本遠(yuǎn)程代碼執(zhí)行高危漏洞,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。