沒有完美的東西,所以有漏洞在所難免,漏洞產生後隨之而來的就是各種應對的招數,例如改資料庫的後綴、修改資料庫的名字等等。很多人以為只要這麼做就可以解決問題了,但事實往往不如你我所願,即使你這麼做了也難逃被高手攻擊的命運。
作為腳本漏洞的頭號殺手鐧-資料庫下載漏洞,現在已經被越來越多的人所熟知。在這個資訊化技術更新快速的時代,漏洞產生後隨之而來的就是各種因應的招數,例如改資料庫的字尾、修改資料庫的名字等等。很多人以為只要這麼做就可以解決問題了,但事實往往不如你我所願,即使你這麼做了也難逃被高手攻擊的命運。為此我們有必要去了解一些攻擊的手法,來增強自己的安全技能。
1.強制下載後綴名為ASP、ASA的資料庫文件
大多數的網管為了節省時間,網站上的文章系統、論壇等程式都是直接下載別人的原始程式再經過部分修改後使用的。而現在很多人做的ASP來源程式都已經將資料庫的字尾由原先的MDB改為了ASP或ASA。本來這是好事,但在這個資訊極度膨脹的社會,老的方法所能維持的時間畢竟有限。對於ASP或ASA後綴的資料庫文件,駭客只要知道它們的存放位置,就能輕易地用迅雷這樣的下載軟體下載得到。圖1即筆者利用迅雷下載到的資料庫檔案(注意資料庫的後綴為ASP)。
2.致命符號-#
很多網管以為在資料庫前面加個#號就可以防止資料庫被下載。是啊,我當時也認為IE是無法下載有#號的檔案的(IE會自動忽略#號後面的內容)。但成也蕭何,敗也蕭何,我們忘了網頁不僅能透過普通的方法訪問,而且用IE的編碼技術也能訪問到。
在IE中,每個字元都對應一個編碼,編碼符%23就可以取代#號。這樣對於一個只是修改了後綴並加上了#號的資料庫檔案我們依然可以下載。例如#data.mdb為我們要下載的文件,我們只要在瀏覽器中輸入%23data.mdb就可以利用IE下載該資料庫文件,這樣一來,#號防御手段就形同虛設一般。
3.破解Access加密資料庫易如反掌
有些網管喜歡對Access資料庫進行加密,以為這樣一來就算駭客得到了資料庫也需要密碼才能開啟。但事實正好相反,由於Access的加密演算法太脆弱,駭客只要隨便到網路上找一個破解Access資料庫密碼的軟體,不用幾秒鐘就能拿到密碼。這樣的軟體網路上很多,像是Accesskey。
4.瞬殺-資料暴庫技術
本身資料庫暴庫技術應該是屬於腳本漏洞的行列,之所以拿到這裡來說是因為它在資料庫下載漏洞中起到了舉足輕重的作用,如果仔細一點,讀者會發現上面的技巧都是假定知道資料庫名的情況下才能實施的。但很多時候我們根本不可能知道資料庫的名字,這時我們可能會感到很沮喪,覺得無法再進行下去,但資料庫暴庫技術的出現不僅可以一掃我們的沮喪情緒,也能讓我們真正地將前面的技術綜合起來利用。
很多人在用ASP寫資料連接檔案時,總是會這麼寫(conn.asp):
- ……
- db=data/rds_dbd32rfd213fg.mdb
- Setconn=Server.CreateObject(ADODB.Connection)
- connstr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(db)
- conn.Openconnstr
- functionCloseDatabase
- Conn.close
- Setconn=Nothing
- ……
這段語句看起來覺得沒什麼問題,而且資料庫的名字取得很怪,如果沒有資料庫暴庫技術我們能猜到這樣的資料庫名稱的幾率幾乎為零。但就是這麼簡短的語句卻隱藏著無限的訊息。可以說網路上絕大部分的程式都存在這個漏洞。我們只要將網址列上在資料連接檔conn.asp(一般為這個)前的/用%5c替代就可以暴到資料庫的位置,接下來的事情應該不需要我說了吧?大家只要開動腦筋沒有什麼事情是做不成的。
以上所述就是本文的全部了,希望大家能喜歡