網站漏洞修復案例之Discuz!3.4最新版本

網站安全發表於2019-04-26

Discuz!論壇目前最新版本為3.4版本,已經好久沒有更新了,我們SINE安全在對其網站安全檢測的同時發現一處漏洞,該漏洞可導致論壇的後臺檔案可以任意的刪除,導致網站癱瘓,後臺無法登陸。關於該網站漏洞的細節我們來詳細的分析看一下:

Discuz漏洞的檢測與分析

該漏洞發生的位置在於source目錄下的admincp資料夾裡的admincp_forums.php程式碼裡,我們用note編輯器開啟查詢到unlink函式呼叫的地方,就看到漏洞產生的原因了,直接搜尋$_get{'replybgnew'],定位到程式碼。漏洞的使用有限制,必須是discuz管理員的許可權,所以說漏洞危害較小,但也還是一處discuz的漏洞,如下圖所示:

網站漏洞修復案例之Discuz!3.4最新版本

從上圖我們看到程式碼首先會進行判斷對於GET提交過來的引數會進行IF語句,從程式碼裡獲知當$multiset的值為真或者是為假的時候,就會將引數賦值為0,我們接著往下看另外一個的IF語句是如何使用的,當IF下來的時候會進行安全檢測,將parse_url引數裡的結果進行檢測,來確定前端提交過來的網址是否正確,程式碼執行到最後一步我們看到attachurl的變數內容,竟然可以偽造惡意程式碼插入進去。

網站漏洞修復案例之Discuz!3.4最新版本

我們構造惡意程式碼首先搭建一下測試的Discuz論壇環境,伺服器使用linux centos系統,PHP版本使用5.3版本,資料庫mysql5.5,我們從官方下載一份3.4正式版的程式碼,安裝到我們們的測試環境中。開啟論壇,登陸後臺,然後找到論壇的模組管理,我們點選最下端的提交,然後透過抓包獲取資料,在提交的post資料中新增:

網站漏洞修復案例之Discuz!3.4最新版本

&replybgnew=../../../index.php&delreplybg=safe這個程式碼,然後再提交post,就會把網站的論壇首頁刪除掉,就會顯示如下圖:

網站漏洞修復案例之Discuz!3.4最新版本

關於這個Discuz!網站漏洞,前提是需要獲取論壇管理員的許可權,相對來說危害較小,但也不能忽視對網站安全的防護,時刻做好網站的安全備份,discuz要登陸後臺經常看下是否有漏洞補丁需要修復,關於這個漏洞的修復,建議將discuz的後臺地址admin.php改為admin!@#ht.php這樣即使知道管理員的賬號密碼,也登陸不了後臺。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2642625/,如需轉載,請註明出處,否則將追究法律責任。

相關文章