ecshop 漏洞如何修復 補丁升級與安全修復詳情

目前ecshop漏洞大面積爆發,包括最新版的ecshop 3.0,ecshop 4.0,ecshop2.7.3全系列版本都存在着高危網站漏洞,致使網站被黑,被篡改,被掛馬,許多商城系統深受其漏洞的攻擊,給商城的運營者以及網站運營者帶來很大的經濟損失,甚至有些ecshop還被跳轉到了一些惡意網站上去。那麼ecshop漏洞如何修復呢?php

首先咱們要先了解下ecshop漏洞的發生根源,咱們SINE安全工程師對其全部版本的代碼進行了全面的人工安全檢測,以及網站漏洞檢測,發現ecshop根目錄下的user.php文件存在遠程代碼執行sql注入漏洞,咱們對ecshop的user.php進行查看,在302行裏咱們發現了安全問題:前端

back_act這個變量的值來自於前端post提交方式的數據中,包含的http_referer這個函數裏,這個函數能夠插入惡意的sql注入代碼,爲何能夠插入呢?原理很簡單,ecshop商城使用的模板引擎是採用smarty引擎,這個引擎在國內是比較有名的,大多數都會調用到一些經常使用的參數,好比assign,display這兩個經常使用的引擎函數,因爲assign的函數是須要模板執行的時候才能賦值,因此首先運行的就是smarty模板引擎,前端會讀取模板文件而後將值給賦值到函數當中去,那麼傳遞過來的值就能夠插入惡意的遠程執行代碼,並傳入到服務器端進行執行。sql

咱們來看下模板引擎文件,以下圖所示:數據庫

從上圖中的函數echash,首先會調用一個user password的一個模板文件,在這個模板文件中來變量賦值,進行模板引擎的解析操做,也就是說會把引擎裏的assign函數註冊到變量裏去,並進行模板解析,返回到insert_mod函數進行網站交互處理。安全

ecshop漏洞利用 使用exp代碼,在post數據包中咱們抓取一下,而後僞造referer:插入:服務器

Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:函數

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

(0x7e,version())),1)– -「;s:2:」id」;i:1;}網站

這個是查詢數據庫版本的一個sql注入語句,執行後會返回數據到前端,以下圖:編碼

上圖已經返回了數據庫的版本信息,那麼攻擊者就能夠構造遠程代碼執行數據庫操做,上傳木馬後門到網站裏去,並進行篡改網站便可。

ecshop 3.0版本的漏洞,是由於漏洞產生的緣由在於includes目錄下safety.php 文件,這個代碼文件主要是限制一些惡意參數的寫入,會自動匹配一些數據庫查詢語句,無論是加密仍是都會攔截這些惡意的參數,包括數據庫的執行語句,可是在整個代碼的安全檢測中咱們發現這個ecshop3.0居然能夠執行命令,利用playload進行編碼繞過,就能夠執行遠程命令,包括可使用union聯合查詢。

ecshop 漏洞修復

關於ecshop4.0 漏洞修復咱們能夠對根目錄下的includes文件夾下的lib_insert.php這個文件進行編寫,將asrr [num]跟ID這兩個值,進行強制的轉換成整數型,這樣致使SQL語句沒法執行了,就能夠修復ecshop4.0版的漏洞,那麼ecshop2.7.3以及.ecshop3.0版本的網站,目前官方並無漏洞修復補丁,建議網站運營者先將user.php更名,或者刪除,並對網站進行防篡改部署,限制修改,只容許讀取操做,對網站進行sql防注入部署,對http_referer裏的值進行非法參數攔截,並作攔截日誌記錄,若是對安全不是太懂的話建議找專業的網站安全公司來修復漏洞,作好網站安所有署,國內SINE安全公司,綠盟,啓明星辰,都是比較不錯的安全公司。

相關文章
相關標籤/搜索