天天看點

網站漏洞掃描 某CMS代碼的越權與install.php重置滲透測試漏洞

客戶網站前端時間被攻擊,網站被劫持到了du博網站上去,通過朋友介紹找到我們做網站的安全防護,我們随即對客戶網站進行了全面的滲透測試,包括了網站的漏洞檢測與代碼安全測試,針對于發現的漏洞進行了修複,包括網站安全部署等等方面,下面我們将這一次的安全應急處理過程分享給有需要的客戶。

網站漏洞掃描 某CMS代碼的越權與install.php重置滲透測試漏洞

首先客戶網站采用的架構是PHP語言開發,mysql資料庫,使用的是linux centos系統作為網站的運作環境,代碼使用的是開源的某CMS系統,我們首先打包壓縮了一份網站源代碼到我們本地的電腦,人工對其代碼進行全面的滲透測試與檢測,首先我們會從網站的安裝檔案入手,我們檢視到使用的是install.php作為網站安裝的檔案,一般這裡會存在網站漏洞,例如:沒有對其做安全驗證,導緻可以任意的安裝網站,覆寫配置檔案,甚至可能會出現表單裡不做安全過濾,導緻寫入webshell一句話木馬代碼到config.php檔案裡。

網站漏洞掃描 某CMS代碼的越權與install.php重置滲透測試漏洞

經過我們安全技術的人工代碼安全審計,發現客戶網站存在任意重裝網站漏洞,漏洞檔案:install.php,檢視到使用的變量值為DEL_INSTALLER=1的時候才會删除安裝檔案,我們看到預設值=0.也就是說不會删除安裝檔案,我們可以通路該代碼,直接執行重裝操作。

網站漏洞掃描 某CMS代碼的越權與install.php重置滲透測試漏洞

繼續檢查代碼是否還存在其他的漏洞,在檢查到配置檔案config.php代碼中,有調用到cookies方面的指派,繼續追蹤分析發現存在越權漏洞,管理者登入網站後,會儲存cookies,但是這個cookies的建構很簡單,是使用了emhash的方式,對傳入的key值進行了MD5加密操作,最終cookies的構成是由賬号名以及HASH值拼接構成的,那我們就可以僞造cookies,直接越權操作其他管理者賬号,甚至可以以普通使用者的權限,去操作網站管理者的權限。

我們工程師對背景代碼進行安全審計的時候發現,存在上傳漏洞,可以上傳php檔案,背景有個設定上傳字尾名的功能,但是預設網站對添加PHP的字尾名做了過濾,會将PHP稀釋掉,以及不允許,那麼我們在實際的滲透測試中如何繞過呢?看到背景有資料庫備份恢複的功能,那麼我就可以将資料庫裡的字尾名改為php,再直接恢複到網站中去,直接上傳PHP腳本後門也叫webshell到網站裡去。

網站漏洞掃描 某CMS代碼的越權與install.php重置滲透測試漏洞

至此客戶網站的所有滲透測試以及漏洞檢測已完畢,共發現3處漏洞,1個是install.php安裝重置漏洞,1個是越權漏洞,1個是檔案上傳漏洞,針對以上3個漏洞,我們對其做了漏洞修複,對install的變量值進行了判斷,當網站安裝後,自動删除install.php檔案,對越權做了使用者的所屬權限判斷,如果不是目前使用者的cookies直接傳回錯誤狀态,對背景的資料庫備份功能做限制,隻能備份,不能恢複,恢複操作使用phpmyadmin來進行網站的資料恢複,如果您對網站的安全不是太懂的話,建議找專業的網站安全公司來處了解決,做好網站安全,才能保障使用者的每一次通路。