名詞解釋:
原為大陸用語是指利用強行的手段,例如:在網址列添加特殊字串或路徑,使目標網站的資料庫實體路徑暴露出來,進而成功下載該資料庫,取得帳號密碼等權限之過程。
常見手法:
利用論壇套件其資料庫均固定放至於某「虛擬目錄」中之特性,輸入關鍵字後下載。(註:以access型態之資料庫居多)。
把網址列中的" / "換成" %5c "然後送出該網址,就可以在Web Server的錯誤訊息中得到資料庫的實體路徑。
註:目前只要更新使用新版的論壇套件,幾乎都已經修正相關弱點。
##CONTINUE##
--------------------------------------------------------------------
論壇DB爆庫:原理
Access資料庫的儲存隱患:
在ASP + Access應用系統中,如果能獲得或猜到Access資料庫的儲存路徑和資料庫名稱,則該資料庫就可以被下載到本地。例如:對於線上書店的Access資料庫,人們一般命名為book.mdb、store.mdb等,而存儲的路徑一般為“URL/database”或乾脆放在根目錄 " URL/" 之下。這樣,只要在瀏覽器地址欄中輸入網址:URL/database/store.mdb ,就可以輕易地把store.mdb下載到本地的機器中。
Access資料庫的解密隱患:
由於Access資料庫的加密機制非常簡單,所以即使資料庫設置了密碼,解密也很容易。由此可見,無論是否設置了資料庫密碼,只要資料庫被下載,其資訊就沒有任何安全性可言了。
論壇DB爆庫:解決方案
非常規命名法:
不要簡單地命名為" book.mdb "或" store.mdb ",而是要起個非常規的名字,例如:faq19jhsvzbal.mdb,再把它放在如 ./akkjj16t/kjhgb661/acd/avccx55 之類的深層目錄下。
使用ODBC資料來源:
使用ODBC資料來源,不要把資料庫名直接寫在ASP程式碼中,例如:
DBPath = Server.MapPath(“./akkjj16t/kjhgb661/acd/avccx55/faq19jhsvzbal.mdb “)
conn.Open “driver={Microsoft Access Driver (*.mdb)};
dbq=” & DBPath
改成:
conn.open " ODBC-DSN 的名稱 "
就不會發生這樣的問題了。
--------------------------------------------------------------------
%5c路徑爆庫:原理
它不是網頁本身的漏洞,而是利用了IIS解碼方式中的一個特性,如果IIS安全設定不周全,而網頁設計者及管理者未考慮IIS錯誤時,就會被人利用。
為何要用"%5c"?實際上它是"\"的十六進位代碼,也就是"\"的另一種表示法。
基本上IE會自動在網址列就把"\"轉變成"/"的符號,使得瀏覽到同一個網址。但是,當我們把"/"換成十六進位寫法"%5c"時,IE卻不會對此符號進行轉換,問題正是出在這裡。
一個典型的conn.asp連線語法中如下:DBPath = Server.MapPath("db/dsvote.mdb")
當 http://192.168.123.100/vote%5cvotelist.asp 瀏覽呼叫 conn.asp 時,就會在IIS解析成 /vote\votelist.asp。
在IIS中,“/”和“\”代表著不同的意義,遇到了“\”時,認為它已經到了根目錄所在的實體路徑便不再往上層解析,於是ASP就會出錯將網站的完整的實體路徑加在錯誤訊息裡: C:\Inetpub\wwwroot\STORE\mood#.asa
註:將 mood#.asa 改名為 mood.mdb
%5c路徑爆庫:解決方案
修改程式:
在conn.asp檔中呼叫資料庫語法之後要加上“On Error Resume Next”的語法,它的意思是出錯後,繼續執行下面語法,也就是不理會出錯,當然就不會給出資料庫的錯誤資訊了。
修改Web Server回報錯誤的畫面:
在IIS內的虛擬目錄->內容->自訂錯誤->選擇錯誤編號->編輯內容。換到預設的網頁即可。