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

Discuz!X3.4 漏洞 任意刪除檔漏洞 可導致網站癱瘓


    Discuz!論壇目前最新版本為3.4版本,已經好久沒有更新了,我們esafe安全在對其網站安

全檢測的同時發現一處漏洞,該漏洞可導致論壇的後臺檔可以任意的刪除,導致網站癱瘓,後

台無法登陸。關於該網站漏洞的細節我們來詳細的分析看一下:
 
 
Discuz漏洞的檢測與分析
 
 
該漏洞發生的位置在於source目錄下的admincp資料夾裡的admincp_forums.php代碼裡,我們

用note編輯器打開查找到unlink函式呼叫的地方,就看到漏洞產生的原因了,直接搜索$_get{'r

eplybgnew'],定位到代碼。漏洞的使用有限制,必須是discuz管理員的許可權,所以說漏洞危害

較小,但也還是一處discuz的漏洞,如下圖所示:
 

 
從上圖我們看到代碼首先會進行判斷對於GET提交過來的參數會進行IF語句,從代碼裡獲知當$m

ultiset的值為真或者是為假的時候,就會將參數賦值為0,我們接著往下看另外一個的IF語句是如

何使用的,當IF下來的時候會進行安全檢測,將parse_url參數裡的結果進行檢測,來確定前端提

交過來的網址是否正確,代碼執行到最後一步我們看到attachurl的變數內容,竟然可以偽造惡意

代碼插入進去。


 
我們構造惡意程式碼首先搭建一下測試的Discuz論壇環境,伺服器使用linux centos系統,PHP版本

使用5.3版本,資料庫mysql5.5,我們從官方下載一份3.4正式版的代碼,安裝到咱們的測試環境

中。打開論壇,登陸後臺,然後找到論壇的模組管理,我們點擊最下端的提交,然後通過抓包獲

取資料,在提交的post資料中添加:
 
 


&replybgnew=../../../index.php&delreplybg=safe這個代碼,然後再提交post,就會把網站的

論壇首頁刪除掉,就會顯示如下圖:
 

 
關於這個Discuz!網站漏洞,前提是需要獲取論壇管理員的許可權,相對來說危害較小,但也不能忽

視對網站安全的防護,時刻做好網站的安全備份,discuz要登陸後臺經常看下是否有漏洞補丁需

要修復,關於這個漏洞的修復,建議將discuz的後臺位址admin.php改為admin!@#ht.php這樣

即使知道管理員的帳號密碼,也登陸不了後臺。
 
 
分享: