作為腳本漏洞的頭號殺手锏--
數(shù)據(jù)庫下載漏洞,現(xiàn)在已經(jīng)被越來越多的人所熟知。在這個信息化技術(shù)更新飛快的時代,漏洞產(chǎn)生后隨之而來的就是各種應(yīng)對的招數(shù),比如改數(shù)據(jù)庫的
后綴、修改數(shù)據(jù)庫的名字等等。很多人以為只要這么做就可以解決問題了,但事實往往不如你我所愿,即使你這么做了也難逃被高手攻擊的命運。為此我們有必要去了解一些攻擊的手法,來增強(qiáng)自己的安全技能。
1.強(qiáng)制下載后綴名為asp、asa的數(shù)據(jù)庫文件
大多數(shù)的網(wǎng)管為了節(jié)省時間,
網(wǎng)站上的文章系統(tǒng)、論壇等程序都是直接下載別人的
源程序再經(jīng)過部分修改后使用的。而現(xiàn)在很多人做的asp源程序都已經(jīng)將數(shù)據(jù)庫的后綴由原先的mdb改為了asp或asa。本來這是好事,但在這個信息極度膨脹的社會,老的方法所能維持的時間畢竟有限。對于asp或asa后綴的數(shù)據(jù)庫文件,
黑客只要知道它們的存放位置,就能輕易地用迅雷這樣的下載
軟件下載得到。
2.致命符號——#
很多網(wǎng)管以為在數(shù)據(jù)庫前面加個#號就可以防止數(shù)據(jù)庫被
下載。是啊,我當(dāng)時也認(rèn)為IE是無法下載帶有#號的文件的(ie會自動忽略#號后面的內(nèi)容)。但是“成也蕭何,敗也蕭何”,我們忘記了網(wǎng)頁不僅能通過普通的方法訪問,而且用ie的編碼技術(shù)也能訪問到。
在ie中,每個字符都對應(yīng)著一個編碼,編碼符%23就可以替代#號。這樣對于一個只是修改了后綴并加上了#號的數(shù)據(jù)庫文件我們依然可以下載。比如#data.mdb為我們要下載的文件,我們只要在瀏覽器中輸入%23data.mdb就可以利用ie下載該數(shù)據(jù)庫文件。這樣一來,#號防御手段就形同虛設(shè)一般。
3.破解access加密數(shù)據(jù)庫易如反掌
有些
網(wǎng)管喜歡對access數(shù)據(jù)庫進(jìn)行加密,以為這樣一來就算黑客得到了數(shù)據(jù)庫也需要密碼才能打開。但事實正好相反,由于access的加密算法太脆弱,所以
黑客只要隨便到網(wǎng)上找一個破解access數(shù)據(jù)庫密碼的軟件,不用幾秒鐘就能得到密碼。
4.瞬殺——數(shù)據(jù)暴庫技術(shù)
本來數(shù)據(jù)庫暴庫
技術(shù)應(yīng)該是屬于腳本漏洞的行列,之所以拿到這里來說是因為它在數(shù)據(jù)庫下載漏洞中起到了舉足輕重的作用,如果仔細(xì)一點,讀者會發(fā)現(xiàn)上面的技巧都是假定知道數(shù)據(jù)庫名的情況下才能實施的。但很多時候我們根本不可能知道數(shù)據(jù)庫的名字,這時我們可能會感到很沮喪,覺得無法再進(jìn)行下去,但數(shù)據(jù)庫暴庫技術(shù)的出現(xiàn)不僅可以一掃我們的沮喪情緒,也能讓我們真正地將前面的技術(shù)綜合起來利用。
很多人在用asp寫數(shù)據(jù)連接文件時,總會這么寫(conn.asp):
db="data/rds_dbd32rfd213fg.mdb"
set conn = server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source=" & server.masppath(db)
conn.open connstr
function closedatabase
conn.clo
se
set conn = nothing
這段語句看上去覺得并沒什么問題,而且數(shù)據(jù)庫的名字取得很怪,如果沒有數(shù)據(jù)庫暴庫技術(shù)我們能猜到這樣的數(shù)據(jù)庫名的幾率幾乎為零。但就是這么簡短的語句卻隱藏著無限的信息。可以說網(wǎng)上絕大部分的程序都存在這個漏洞。我們只要將地址欄上在數(shù)據(jù)連接文件conn.asp(一般為這個)前的/用%5c替代就可以暴到數(shù)據(jù)庫的位置,接下來的事情應(yīng)該不需要我說了吧?大家只要開動腦筋沒有什么。