2009年3月5日 星期四

討論區程式修改

首先,先對大家說聲對不起,因為最近自己身體有點不適,所以沒有寫文章。

之前曾經提及要寫關於討論區安全的文章,筆者希望藉這次的文章,提醒各位不要輕易從網上下載其他人製作的軟件/ 程式,因為可能曾經被第三者所修改。今天我們會手動修改Discuz 7.0 的程式碼,造出一個漏洞,使Discuz 7.0 可以不斷被重新安裝。

若果大家安裝Discuz 7.0後,會發現forumdata裏多了一個install.lock檔案,程式會檢查這個檔案是否存在,而決定是否執行安裝程序。這個判斷會在呼叫install資料夾中的index.php執行,若果將這個判斷被惡意移除的話,程式會允許使用者安裝多次。

這句程式碼位於install/index.php的第52~54行。
elseif(file_exists($lockfile)) {
show_error('install_locked','', true);
}

第三者可能將含有漏洞的舊版程式碼,放到新版本裏散播。我們可以有幾個防禦措施,包括:與原版程式的MD5 進行比對,由於每個檔案只有一個MD5值 (大部份情況下),只要程式有任何的修改,都能輕易被偵測出來。最好的做法,當然是從Discuz 的官方網站下載吧。

http://www.comsenz.com/downloads/install#

沒有留言:

張貼留言