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