您好,登錄后才能下訂單哦!
Metinfo CMS系統被爆出網站存在漏洞,可上傳任意文件到網站根目錄下,從而使攻擊者可以輕易的獲取網站的webshell權限,對網站進行篡改與攻擊,目前該網站漏洞影響范圍是Metinfo 6.2.0最新版本,以及以前的所有Metinfo版本都可以利用,關于該Metinfo漏洞的詳情我們來詳細的分析:
首先該網站漏洞的利用前提是windows系統,PHP語言的版本是小于5.3,相當于舊的服務器都會按照這個環境來配置網站,我們來看下出現漏洞的代碼,Metinfo在上傳方面寫了一個專門的上傳功能,非常的強大,使用doupfile進行上傳,我們來看下代碼,如下圖所示:
我們從上面的代碼中可以看出上傳文件有一些模式,還有變量的信息,info這個變量是可以控制的,我們看下upfile跟upload調用的方法是什么作用,追蹤分析代碼發現這個是用來存儲上傳文件的路徑信息的,這2個變量值會直接將上傳的路徑給改變,這也是該漏洞產生的原因,我們接著繼續分析代碼的漏洞,Metinfo在使用doupfile上傳的時候回對上傳的文件名進行安全過濾,基本的一些腳本文件都已經過濾掉了,只能上傳一些圖片格式的文件,使用白名單安全機制對上傳進行了嚴格的安全限制。
看來通過改變上傳文件的格式是沒有辦法繞過上傳,我們繼續分析代碼,上傳文件的路徑這里可以進行目錄的更改,發現代碼有編碼的轉化功能,如果路徑里含有./那么就會使用iconv函數對其進行路徑的轉換,網站的漏洞也出在這里,根源就是這里,我們可以繞過轉換,對其進行字符的截斷,低于php5.3版本的都存在這個漏洞,構造代碼如下:抓包截取上傳的數據包,將savepath=a.php%80\..\1.jpg 然后直接post數據到http://Metinfo/admin/index.php為什么要直接post到網站后臺的地址呢?是因為后臺的index.php被Metinfo官方加入到白名單里,可以直接繞過sqlinsert函數的過濾,直接上傳webshell到網站中,在實際的漏洞測試過程中,并不需要登錄后臺,直接post該地址即可,如果不知道數據包是如何寫的,可以自己本地搭建一個Metinfo的環境,然后登錄后臺,截取數據包,再修改數據庫的網站地址,進行漏洞測試。
網站漏洞修復辦法與詳情
目前官方并沒有對此漏洞進行修補,建議程序員對php的版本進行升級到5.3以上,或者切換服務器到linux系統,對上傳目錄uoload進行無PHP腳本運行權限,或者對網站目錄進行安全加固防止PHP的文件的創建與生成。如果您對代碼不是太熟悉的話,可以付費找專業的網站安全公司來處理,國內也就SINE安全,綠盟,啟明星辰比較專業一些,關于Metinfo漏洞的修復以及加固辦法,就寫到這里,希望廣大的網站運營者正視起網站的安全。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。