網絡技術是從1990年代中期發(fā)展起來的新技術,它把互聯(lián)網上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網絡、傳感器等。 當前的互聯(lián)網只限于信息共享,網絡則被認為是互聯(lián)網發(fā)展的第三階段。 什么是mdb數(shù)據(jù)庫呢?凡是有點制作網站經驗的網絡管理員都知道,目前使用“IIS+ASP+Access”這套組合方式建立網站是最流行的,大多數(shù)中小型Internet網站都使用該“套餐”,但隨之而來的安全問題也日益顯著。其中最容易被攻擊者利用的莫過于mdb數(shù)據(jù)庫被非法下載了。
mdb數(shù)據(jù)庫是沒有安全防范的,只要入侵者猜測或者掃描到mdb數(shù)據(jù)庫的路徑后就可以使用下載工具輕松將其下載到本地硬盤,再結合暴力破解工具或一些超級破解工具可以輕松的查看里頭的數(shù)據(jù)庫文件內容,企業(yè)的隱私和員工的密碼從此不在安全。難道我們就沒有辦法加強mdb數(shù)據(jù)庫的安全嗎?難道即便我們只有一點點數(shù)據(jù)資料也要麻煩sql server或者oracle嗎?答案是否定的,本篇文章筆者將告訴大家打造安全的mdb數(shù)據(jù)庫文件的獨門秘訣。
一、危機起因:
一般情況下基于ASP構建的網站程序和論壇的數(shù)據(jù)庫的擴展名默認為mdb,這是很危險的。只要猜測出了數(shù)據(jù)庫文件的位置,然后在瀏覽器的地址欄里面輸入它的URL,就可以輕易地下載文件。就算我們對數(shù)據(jù)庫加上了密碼并且里面管理員的密碼也被MD5加密,被下載到本地以后也很容易被破解。畢竟目前MD5已經可以通過暴力來破解了。因此只要數(shù)據(jù)庫被下載了,那數(shù)據(jù)庫就沒有絲毫安全性可言了。
二、常用的補救方法:
目前常用的數(shù)據(jù)庫文件防止被非法下載的方法有以下幾種。
(1)把數(shù)據(jù)庫的名字進行修改,并且放到很深的目錄下面。比如把數(shù)據(jù)庫名修改為Sj6gf5.mdb,放到多級目錄中,這樣攻擊者想簡單地猜測數(shù)據(jù)庫的位置就很困難了。當然這樣做的弊端就是如果ASP代碼文件泄漏,那無論隱藏多深都沒有用了。
。2)把數(shù)據(jù)庫的擴展名修改為ASP或者ASA等不影響數(shù)據(jù)查詢的名字。但是有時候修改為ASP或者ASA以后仍然可以被下載,比如我們將其修改為ASP以后,直接在IE的地址欄里輸入網絡地址,雖然沒有提示下載但是卻在瀏覽器里出現(xiàn)了一大片亂碼。如果使用flashGet或影音傳送帶等專業(yè)的下載工具就可以直接把數(shù)據(jù)庫文件下載下來。不過這種方法有一定的盲目性,畢竟入侵者不能確保該文件就一定是MDB數(shù)據(jù)庫文件修改擴展名的文件,但是對于那些有充足精力和時間的入侵者來說,可以將所有文件下載并全部修改擴展名來猜測。該方法的防范級別將大大降低。
三、筆者的旁門左道:
在筆者的測試過程中就遇到了ASP和ASA文件也會被下載的問題,所以經過研究發(fā)現(xiàn)了以下的方法。
如果在給數(shù)據(jù)庫的文件命名的時候,將數(shù)據(jù)庫文件命名為“#admin.asa”則可以完全避免用IE下載,但是如果破壞者猜測到了數(shù)據(jù)庫的路徑,用FlashGet還是可以成功地下載下來,然后把下載后的文件改名為“admin.mdb”,則網站秘密就將暴露。所以我們需要找到一種flashGet無法下載的方法,但是如何才能讓他無法下載呢?大概是因為以前受到unicode漏洞攻擊的緣故,網站在處理包含unicode碼的鏈接的時候將會不予處理。所以我們可以利用unicode編碼(比如可以利用“%3C ”代替“<”等),來達到我們的目的。而FlashGet在處理包含unicode碼的鏈接的時候卻“自作聰明”地把unicode編碼做了對應的處理,比如自動把“%29”這一段unicode編碼形式的字符轉化成了“(”,所以你向FlashGet提交一個 http://127.0.0.1/xweb/data/%29xadminsxx.mdb的下載鏈接,它卻解釋成了http://127.0.0.1/xweb/data/(xadminsxx.mdb,看看我們上面的網址的地方和下面的重命名的地方是不同的,F(xiàn)lashGet把“%29xadminsxx.mdb”解釋為了“(xadminsxx.mdb”,當我們單擊“確定”按鈕進行下載的時候,它就去尋找一個名為“(xadminsxx.mdb”的文件。也就是說FlashGet給我們引入了歧途,它當然找不到,所以提示失敗了。
不過如果提示下載失敗,攻擊者肯定要想采取其他的攻擊方法。由此我們可以采用另一個防范的方法,既然flashGet去找那個名為“(xadminsxx.mdb”的文件了,我們可以給它準備一個,我們給它做一個仿真的數(shù)據(jù)庫名為“(xadminsxx.mdb”,這樣當入侵者想下載文件的時候的的確確下載了一個數(shù)據(jù)庫回去,只不過這個數(shù)據(jù)庫文件是虛假的或者是空的,在他們暗自竊喜的時候,實際上最終的勝利是屬于我們的。
總結:
通過本次旁門左道保護MDB數(shù)據(jù)庫文件方法的介紹,我們可以明確兩點安全措施,一是迷惑法,也就是將黑客想得到的東西進行改變,例如改變MDB文件的文件名或者擴展名;二是替代法,也就是將黑客想得到的東西隱藏,用一個沒有實際意義的東西替代,這樣即使黑客成功入侵,拿到的也是一個虛假的信息,他們還會以為入侵成功而停止接下來的攻擊。
網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發(fā)展,這正是網絡迅速走向進步的催化劑。
|