首先,在這里感謝"黑客"們,動網發展的過程中確實抹不去他們的身影。這里之所以打上引號,并沒有貶低的意思,而是指那些真正精通代碼的,憑自己精深的技術發現和利用程序漏洞的人,他們一般并不做什么破壞,只是在研究中找到樂趣。我個人認為正是他們的存在促進了技術的快速發展。而對于普遍存在的"工具使用者"一族,他們大多數除了做些搗亂、破壞并自封為黑客等另人厭惡的事情外,似乎一無所長。
言歸正傳,最近一些黑客研究動網論壇代碼發現通過某種欺騙方式可以繞過程序上傳任意文件,再利用上傳的惡意代碼幾乎可以做到他想做的一切事情。這個漏洞影響的動網論壇版本是7.0sp2以前的所有版本,同時理論上也影響任意使用了類似程序開發的所有站點。針對此漏洞,動網強烈建議您馬上升級到最新版本,相關地址如下:
http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=704362&page=1
如果你不幸已經中標,我根據經驗提供一些針對動網論壇的簡單的查殺惡意代碼(木馬)的方法,查殺的效果和你付出的細心程度是成正比的,準備好你的耐心,跟我一步步走。
俗話說知己知彼,百站百勝。要想查木馬,首先要了解自己的網站結構,其次要了解木馬大概的組成。一個好的網站結構能快速的確定非法的文件,一個糟糕的結構會讓你自己都頭暈,簡單來說就是文件分類歸放,及時刪除過期的和測試的文件,這個話題不是我們今天的重點,有興趣的朋友請自行查找。木馬的構成就復雜多變了,一般會根據功能的不同而以各種形式出現,小一點的用幾十個字符就可以搞定。要查木馬不需要很多工具,一個Ftp軟件加上Windows自帶的搜索功能,再有個文本編輯器如Windows帶的記事本就齊備了。Ftp軟件建議用FlashFXP,在查木馬方面他有些功能比較實用。
2004-5-26 21:10:36,小黑告訴我他的論壇首頁被人改了,我馬上登陸他的網站,發現論壇首頁文件被改,找他要來Ftp帳號密碼,登陸Ftp仔細查看。他的空間只放了一個動網論壇,根據頁面被改的情況分析應該是被人上傳了木馬程序修改,于是我打開FlashFxp,選擇工具,選擇在FTP服務器上查找文件,圖1。
一般木馬應該是asp文件,我在名稱那里輸入*.asp,點立即查找,圖2。
耐心等待了一會,結果出來了,我點了一下"于文件夾"讓查找的文件以文件夾方式排列。由于采用的是動網論壇,網站結構比較清晰,除了根目錄和INC目錄外,其它目錄不應該存在任何asp文件,現在在UploadFace目錄下存在一個可疑文件haha.asp,我又點了一下"修改時間"以最后修改時間排列,發現這個文件是最新修改過的,確實非??梢桑瑸榱瞬诲e刪,于是我選中它,在選查看,用查看源代碼的方式確定它確實是個木馬程序,既然確定了就不要猶豫,刪!圖3。
想到IIS還映射了其它類型的文件被asp.dll解釋,我就如圖2般又搜索了*.cer,*.cdx,*.asa,*.htr,這些文件找到一個就刪一個,因為程序根本用不著他們。
嘿嘿,沒想到沒用2分鐘就解決了問題,我正在得意,突然想到如果黑客修改了正常的文件增加了惡意代碼怎么辦?文件內容用Ftp可沒辦法查,只能全部下回來了查了,upload那幾個目錄有好幾百M,我就不下了,只要確保里邊沒有asp等可執行文件就行,數據庫也不用下了,其它文件都通通下回來。圖4。
小黑在催我了,他想論壇盡快開通,他用的是官方原版程序,我就先刪除老程序,圖5,
然后下載最新的動網論壇7.0sp2,還是將根目錄和剛才刪除的那些目錄的文件上傳上去,不上傳數據庫,很快就傳完恢復了論壇,再三叮囑他不要安裝插件或其它程序后,我專心研究下載回來的文件去了。
打開Windows的搜索功能,要搜索的文件名寫*.asp,想到很多木馬都有這行代碼"LANGUAGE = VBScript.Encode",而動網論壇是不用這行代碼的,于是我輸入"VBScript.Encode"來查找所有含有"VBScript.Encode"的asp文件,嘿嘿,果然找到幾個,圖6。
當然,也不是所有木馬都一定要用這行代碼,繼續搜關鍵詞來判斷是否木馬。列出一些關鍵詞供參考。
我提供的關鍵詞不一定是最全的,希望有經驗的朋友繼續提供,我會隨時更新關鍵詞列表。
關鍵詞 | 可能性 | 解決方法 | 動網包含此 關鍵詞的文件 |
VBScript.Encode | 100% | 刪除 | 無 |
海洋 | 100% | 刪除 | 無 |
稻香 | 100% | 刪除 | 無 |
冰點 | 100% | 刪除 | 無 |
0D43FE01-F093-11CF-8940-00A0C9054228 | 100% | 刪除 | 無 |
093FF999-1EA0-4079-9525-9614C3504B74 | 100% | 刪除 | 無 |
72C24DD5-D70A-438B-8A42-98424B88AFB8 | 100% | 刪除 | 無 |
CreateTextFile | 100% | 刪除 | 無 |
eval(r | 100% | 刪除 | 無 |
Execute request | 100% | 刪除或替換 | 無 一般是在正常文件中加入如 execute request("x") 來執行非正常代碼 建議替換 |
Execute session | 100% | 刪除或替換 | 無,同上 |
OpenTextFile | 100% | 刪除 | 無 |
WriteLine | 100% | 刪除 | 無 |
WSCRIPT | 100% | 刪除 | 無 |
5xSoft | 100% | 刪除 | 無 |
Scripting.Dictionary | 100% | 刪除 | 無 |
Request.BinaryRead | 100% | 刪除 | 無 |
DeleteFile | 90% | 刪除或替換 | admin_bbsface.asp admin_data.asp admin_postings.asp admin_uploadlist.asp admin_upUserface.asp upfile.asp |
MoveFile | 90% | 刪除或替換 | reg.asp |
Getfile | 90% | 刪除或替換 | reg.asp showimg.asp viewfile.asp |
=VBS | 90% | 刪除或替換 | Dv_ubbcode.asp |
如果您對服務器有操作權,建議您再做如下設置:
進入站點屬性,選主目錄,點配置,將不需要的腳本映射全部刪除,一般只保留.asp就可以了,其它的全部可以刪除,圖7。
在iis中選取Uploadface,屬性,將執行許可設置為無,還需要設置的還有uploadfile,previewimage這兩個目錄,如果你愿意的話,可以將除了Inc目錄外的其它所有目錄可執行權限都設置為無。
至此查木馬的工作可以告一段落了,再來總結歸納一下方法
1、在網站結構清楚的情況下,瀏覽目錄法能快速確定木馬,在不該出現的地方出現的文件,管他是不是木馬都可以刪。
2、時間比較法,記住自己最后更新文件的時間,出現在該時間以后的可執行腳本一定有問題,但是注意,數據庫的更新時間總是最新的,不要誤刪哦。
3、對比法,此方法上邊沒做詳細說明,其實也就是本地保留一份完整備份,需要的時候使用Ftp工具的比較功能進行比對。
4、關鍵詞搜索法,按照我提供的關鍵詞搜索文件,基本可以確定木馬。
說來說去,防更勝于殺,經常關注動網官方論壇 http://bbs.dvbbs.net ,及時打上最新補釘,盡量不安或少安插件,才是保證你的論壇正常運行的不二法則。
??趧泳W先鋒網絡科技有限公司
2004-5-26
網友sigporsson補充:有一點應該注意,如果確實發現木馬了,處理完畢之后,應該將具有管理權限的各類帳號都進行修改。包括論壇的帳號、數據庫帳號以及服務器操作系統帳號、FTP 帳號等~
網友netguest補充:如果你的論壇里,有類似代碼:<iframe src="http://www.????.com" ></iframe> 估計可能是被加入的惡意連接,請在關鍵詞中搜索iframe src
歡迎各位繼續補充說明。
新聞熱點
疑難解答