白帽駭客資安網-網站安全的靠山,提供漏洞修補,網站被駭入侵,網站資訊安全服務

discuz漏洞修復與網站安全防護加強

discuz漏洞修復方案與網站安全防護加固
近期我們esafe安全在對discuz x3.4進行全面的網站滲透測試的時候,發現discuz多國語

言版存在遠端代碼執行漏洞,該漏洞可導致論壇被直接上傳webshell,直接遠程獲取管理員許可權

,linux伺服器可以直接執行系統命令,危害性較大,關於該discuz漏洞的詳情,我們來詳細的

分析看下。

描述: https://www.sinesafe.com/uploads/allimg/190716/1-1ZG6091IE21.png
 
discuz漏洞影響範圍:discuz x3.4 discuz x3.3 discuz x3.2,版本都受該網站漏洞的影響,漏洞

產生的原因是在source目錄下function資料夾裡function_core.php代碼裡的cookies與語言lang

uage參數值並沒有詳細的進行安全過濾與檢測,導致可以插入惡意的代碼到資料庫,並遠端執

行惡意程式碼,可獲取webshell許可權。
 
discuz漏洞分析
 
我們來看下剛才產生漏洞的代碼,在第535行往下看,有一段代碼是這樣寫的,預設網站系統

將緩存資料存儲在data資料夾裡的template目錄中,快取檔案名的命名是由前面的discuz_lang

參數進行控制來命令的,漏洞產生的原因就在這裡。那這個discuz_lang參數的值是從來獲取來

的呢? 我們跟進分析網站代碼,可以看到是從language語言這一變數裡去獲取的值,也就是說

,我們要利用這個網站漏洞,首先要去改變這個language的值,將惡意程式碼插入到這個值當中

去,POC代碼如下:

描述: https://www.sinesafe.com/uploads/allimg/190716/1-1ZG6091R2920.png
 
post數據到論壇的forum.php頁面,將post資料改為:Z3T2_2132_language=en'.phpinfo().';即

可執行php語句,整個漏洞的分析,我們可以看出discuz官方並沒有對post資料裡的cookies值

進行安全過濾與判斷,導致可以直接寫入language裡惡意程式碼並遠端執行,可以構造一句話代

碼,直接獲取webshell。

描述: https://www.sinesafe.com/uploads/allimg/190716/1-1ZG6091T9317.png
 
 
網站漏洞修復與安全防護方案
 
 
對discuz的版本進行全面的升級,在language參數值中進行全面的安全過濾,限制逗號,以及閉

合語句的執行,還有\斜杠都一些特殊惡意程式碼進行攔截,必要的話對其進行轉義,如果對代碼

不是太熟悉的話,也可以找專業的網站安全公司來進行漏洞修復,國內也就esafe安全公司,綠

盟,啟明星辰比較專業。再一個對discuz目錄的許可權進行安全分配,限制data目錄的腳本執行權

限,防止PHP腳本的運行,最重要的就是做好網站的安全防護。
 

分享: