直播中
phpcms2008是國內深受站長建站使用的一個內容CMS管理系統(tǒng),phpcms的開源話,免費,動態(tài),靜態(tài)生成,API接口,模板免費下載,自定義內容設計,可提供程序的二次開發(fā)與設計,大大方便了整個互聯網站長的建站使用與優(yōu)化。整個phpcms采用PHP+Mysql數據庫作為架構,穩(wěn)定,并發(fā)高,承載量大。
phpcms2008漏洞詳情,在對代碼的安全檢測與審計當中,發(fā)現type.php文件代碼存在漏洞,代碼如下:
以上代碼if(empty($template)) 在進行變量定義的時候可以跟進來看下,通過extract進行變量的聲明與注冊,如果當前的注冊已經有了,就不會覆蓋當前已有的聲明,導致可以變量偽造與注入。
我們再來跟蹤該代碼找到template函數,看到調用到了include目錄下的global.func.php文件,該代碼里的function template會對傳遞過來的定義值進行判斷,默認TPL_REFRESH是為1的參數值,也就是說自動開啟了模板緩存功能。當需要更新緩存的時候就會先判斷有沒有變量注冊,如果有就會進行更新緩存。
該漏洞利用的就是緩存的更新,將網站木馬代碼插入到緩存文件當中去??梢钥闯?template沒有進行過濾就可以直接寫入到緩存模板中,我們可以指定TAG內容,post提交過去,如下代碼:
我們在自己的本地電腦搭建了一套phpcms2008系統(tǒng)的環(huán)境,進行漏洞測試,提交post參數過去,我們看下本地的漏洞結果,可以執(zhí)行phpinfo代碼。也可以插入一句話木馬后門進行上傳webshell。
目前phpcms官方已經修復該漏洞,請各大網站運營者盡快升級phpcms2008到最新版本,有些二次開發(fā)的網站可以針對緩存目錄進行安全限制,禁止PHP腳本文件的執(zhí)行,data,cache_template目錄進行安全加固部署,對網站上的漏洞進行修復。