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