程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 淺談ASP數據庫下載漏洞

淺談ASP數據庫下載漏洞

編輯:關於ASP編程

作為腳本漏洞的頭號殺手锏——數據庫下載漏洞,現在已經被越來越多的人所熟知。在這個信息化技術更新飛快的時代,漏洞產生後隨之而來的就是各種應對 的招數,比如改數據庫的後綴、修改數據庫的名字等等。很多人以為只要這麼做就可以解決問題了,但事實往往不如你我所願,即使你這麼做了也難逃被高手攻擊的 命運。為此我們有必要去了解一些攻擊的手法,來增強自己的安全技能。

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" 
Set conn = Server.CreateObject("ADODB.Connection") 
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) 
conn.Open connstr 
function CloseDatabase 
Conn.close 
Set conn = Nothing 
…… 

這段語句看上去覺得並沒什麼問題,而且數據庫的名字取得很怪,如果沒有數據庫暴庫技術我們能猜到這樣的數據庫名的幾率幾乎為零。但就是這麼簡短的語 句卻隱藏著無限的信息。可以說網上絕大部分的程序都存在這個漏洞。我們只要將地址欄上在數據連接文件conn.asp(一般為這個)前的/用%5c替代就 可以暴到數據庫的位置,接下來的事情應該不需要我說了吧?大家只要開動腦筋沒有什麼事情是做不成的。

以上所述就是本文的全部內容了,希望大家能喜歡

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved