客戶網(wǎng)站前端時間被攻擊,網(wǎng)站被劫持到了賭博網(wǎng)站上去,通過朋友介紹找到我們SINESAFE做網(wǎng)站的安全防護,我們隨即對客戶網(wǎng)站進行了全面的滲透測試,包括了網(wǎng)站的漏洞檢測與代碼安全測試,針對于發(fā)現(xiàn)的漏洞進行了修復(fù),包括網(wǎng)站安全部署等等方面,下面我們將這一次的安全應(yīng)急處理過程分享給有需要的客戶。
首先客戶網(wǎng)站采用的架構(gòu)是PHP語言開發(fā),mysql數(shù)據(jù)庫,使用的是linux centos系統(tǒng)作為網(wǎng)站的運行環(huán)境,代碼使用的是開源的某CMS系統(tǒng),我們首先打包壓縮了一份網(wǎng)站源代碼到我們本地的電腦,人工對其代碼進行全面的滲透測試與檢測,首先我們會從網(wǎng)站的安裝文件入手,我們查看到使用的是install.php作為網(wǎng)站安裝的文件,一般這里會存在網(wǎng)站漏洞,例如:沒有對其做安全驗證,導(dǎo)致可以任意的安裝網(wǎng)站,覆蓋配置文件,甚至可能會出現(xiàn)表單里不做安全過濾,導(dǎo)致寫入webshell一句話木馬代碼到config.php文件里。
經(jīng)過我們SINE安全技術(shù)的人工代碼安全審計,發(fā)現(xiàn)客戶網(wǎng)站存在任意重裝網(wǎng)站漏洞,漏洞文件:install.php,查看到使用的變量值為DEL_INSTALLER=1的時候才會刪除安裝文件,我們看到默認值=0.也就是說不會刪除安裝文件,我們可以訪問該代碼,直接執(zhí)行重裝操作。
繼續(xù)檢查代碼是否還存在其他的漏洞,在檢查到配置文件config.php代碼中,有調(diào)用到cookies方面的賦值,繼續(xù)追蹤分析發(fā)現(xiàn)存在越權(quán)漏洞,管理員登錄網(wǎng)站后,會保存cookies,但是這個cookies的構(gòu)建很簡單,是使用了emhash的方式,對傳入的key值進行了MD5加密操作,較終cookies的構(gòu)成是由賬號名以及HASH值拼接構(gòu)成的,那我們就可以偽造cookies,直接越權(quán)操作其他管理員賬號,甚至可以以普通用戶的權(quán)限,去操作網(wǎng)站管理員的權(quán)限。
我們SINE安全工程師對后臺代碼進行安全審計的時候發(fā)現(xiàn),存在上傳漏洞,可以上傳php文件,后臺有個設(shè)置上傳后綴名的功能,但是默認網(wǎng)站對添加PHP的后綴名做了過濾,會將PHP稀釋掉,以及不允許,那么我們在實際的滲透測試中如何繞過呢?看到后臺有數(shù)據(jù)庫備份恢復(fù)的功能,那么我就可以將數(shù)據(jù)庫里的后綴名改為php,再直接恢復(fù)到網(wǎng)站中去,直接上傳PHP腳本后門也叫webshell到網(wǎng)站里去。
至此客戶網(wǎng)站的所有滲透測試以及漏洞檢測已完畢,共發(fā)現(xiàn)3處漏洞,1個是install.php安裝重置漏洞,1個是越權(quán)漏洞,1個是文件上傳漏洞,針對以上3個漏洞,我們SINE安全對其做了漏洞修復(fù),對install的變量值進行了判斷,當網(wǎng)站安裝后,自動刪除install.php文件,對越權(quán)做了用戶的所屬權(quán)限判斷,如果不是當前用戶的cookies直接返回錯誤狀態(tài),對后臺的數(shù)據(jù)庫備份功能做限制,只能備份,不能恢復(fù),恢復(fù)操作使用phpmyadmin來進行網(wǎng)站的數(shù)據(jù)恢復(fù),如果您對網(wǎng)站的安全不是太懂的話,建議找專業(yè)的網(wǎng)站安全公司來處理解決,做好網(wǎng)站安全,才能**用戶的每一次訪問。
產(chǎn)品推薦