前言:本站為你精心整理了網(wǎng)站數(shù)據(jù)庫危機(jī)防范策略研究范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
編者按:本論文主要從危機(jī)起因;防范對(duì)策等進(jìn)行講述,包括了Access數(shù)據(jù)庫的安全問題、ASP帶來的安全問題、非常規(guī)命名法、使用ODBC數(shù)據(jù)源、加密ASP頁面、Session對(duì)象最大的優(yōu)點(diǎn)是可以把某用戶的信息保留下來、把數(shù)據(jù)庫的主文件名進(jìn)行修改、把mdb擴(kuò)展名修改為ASP或ASA等不影響數(shù)據(jù)查詢的名字等,具體資料請(qǐng)見:
【摘要】本文通過對(duì)ASP+Access網(wǎng)站中Access數(shù)據(jù)庫存在的主要安全問題進(jìn)行分析研究,并從Access數(shù)據(jù)庫安全性和ASP頁面安全性等方面提出相應(yīng)的安全防范對(duì)策。
【關(guān)鍵詞】ASPAccess數(shù)據(jù)庫安全ODBC數(shù)據(jù)源
筆者從事電子商務(wù)網(wǎng)站建設(shè)課程教學(xué)工作多年,一直選用ASP+Access方案構(gòu)建方案。但ASP+Access方案最大的安全隱患在于Access數(shù)據(jù)庫可以被攻擊者非法下載,而現(xiàn)在互聯(lián)網(wǎng)上提供的很多ASP空間都是只支持Access數(shù)據(jù)庫。這樣一來,防止Access數(shù)據(jù)庫被非法下載就顯得非常重要了。本文筆者通過分析研究將告訴大家如何打造mdb數(shù)據(jù)庫文件的安全防范對(duì)策。
一、危機(jī)起因
(一)Access數(shù)據(jù)庫的安全問題
1.Access數(shù)據(jù)庫的存儲(chǔ)隱患
在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜測(cè)到Access數(shù)據(jù)庫的存儲(chǔ)路徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到本地。
2.Access數(shù)據(jù)庫的解密隱患
由于Access數(shù)據(jù)庫的加密機(jī)制非常簡(jiǎn)單,所以即使數(shù)據(jù)庫設(shè)置了密碼,解密也很容易。該數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個(gè)加密串,并將其存儲(chǔ)在*.mdb文件中從地址“&H42”開始的區(qū)域內(nèi)。由于異或操作的特點(diǎn)是“經(jīng)過兩次異或就恢復(fù)原值”,因此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,就可以輕松地得到Access數(shù)據(jù)庫的密碼?;谶@種原理,很容易編制出解密程序或者在互聯(lián)網(wǎng)上下載到破解工具,數(shù)據(jù)庫文件的內(nèi)容,企業(yè)的資料、隱私和員工的密碼從此不在安全。由此可見,無論是否設(shè)置了數(shù)據(jù)庫密碼,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
(二)ASP帶來的安全問題
1.ASP程序源代碼的隱患
由于ASP程序采用的是非編譯性語言,這大大降低了程序源代碼的安全性。任何人只要進(jìn)入站點(diǎn),就可以獲得源代碼,從而造成ASP應(yīng)用程序源代碼的泄露。
2.程序設(shè)計(jì)中的安全隱患
ASP代碼利用表單(form)實(shí)現(xiàn)與用戶交互的功能,而相應(yīng)的內(nèi)容會(huì)反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧?,只要記下這些內(nèi)容,就可以繞過驗(yàn)證直接進(jìn)入某一頁面。例如在瀏覽器中敲入“page.asp?x=1”,即可不經(jīng)過表單頁面直接進(jìn)入滿足“x=1”條件的頁面。因此,在設(shè)計(jì)驗(yàn)證或注冊(cè)頁面時(shí),必須采取特殊措施來避免此類問題的發(fā)生。
二、防范對(duì)策
我們可以采用迷惑法、隱藏法、加密法、ODBC數(shù)據(jù)源法和注冊(cè)驗(yàn)證法等技術(shù)手段防止數(shù)據(jù)庫文件被非法下載。
(一)非常規(guī)命名法
1.把數(shù)據(jù)庫的主文件名進(jìn)行修改,并且放到很深的目錄下面
防止數(shù)據(jù)庫被找到的簡(jiǎn)便方法是為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它存放在多層目錄下。例如,對(duì)于網(wǎng)上花店的數(shù)據(jù)庫文件,不要簡(jiǎn)單地命名為“flower.mdb”或“bloom.mdb”,而是要起個(gè)非常規(guī)的名字,例如:halower123.mdb,再把它放在如/wh123/wd123d/hoo9/dh123/abc之類的深層目錄下。這樣攻擊者想簡(jiǎn)單地猜測(cè)數(shù)據(jù)庫的位置就很困難了。
2.把mdb擴(kuò)展名修改為ASP或ASA等不影響數(shù)據(jù)查詢的名字
但是有時(shí)候修改為ASP或者ASA以后仍然可以被下載,如將mdb修改為ASP以后,直接在IE的地址欄里輸入網(wǎng)絡(luò)地址,雖然沒有提示下載但是卻在瀏覽器里出現(xiàn)了一大片亂碼。如果使用FlashGet等專業(yè)的下載工具就可以直接把數(shù)據(jù)庫文件下載下來,因此需要找到一種FlashGet無法下載的方法。根據(jù)網(wǎng)站在處理包含unicode碼的鏈接的時(shí)候?qū)?huì)不予處理的原理??梢岳胾nicode編碼(比如可以利用“%3C”代替“<”等),來達(dá)到目的。而FlashGet在處理包含unicode碼的鏈接的時(shí)候卻“自作聰明”地把unicode編碼做了對(duì)應(yīng)的處理,比如自動(dòng)把“%29”的unicode編碼字符轉(zhuǎn)化成“(”。即是說如向FlashGet提交一個(gè)22.0.1.2/dat/%29amitx.mdb的下載鏈接,它卻解釋成了22.0.1.2/dat/(amitx.mdb,當(dāng)單擊“確定”按鈕進(jìn)行下載的時(shí)候,F(xiàn)lashGet就去尋找一個(gè)名為“(amitx.mdb”的文件,當(dāng)然找不到。
(二)使用ODBC數(shù)據(jù)源
在ASP程序設(shè)計(jì)中,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名直接寫在程序中。例如:直接語句
DBPath=ServerMapPath(“/wh123/wd123d/hoo9/dh123/abc/halower123.mdb”)
ODBC數(shù)據(jù)源語句
ConnOpen“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DBPath
可見,即使數(shù)據(jù)庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,數(shù)據(jù)庫也很容易被下載下來。如果使用ODBC數(shù)據(jù)源,就不會(huì)存在這樣的問題了。
(三)加密ASP頁面
可以使用微軟公司的免費(fèi)軟件ScriptEncoder對(duì)ASP頁面進(jìn)行加密。它可以對(duì)當(dāng)前目錄中的所有的ASP文件進(jìn)行加密,并把加密后的文件統(tǒng)一輸出到相應(yīng)的目錄中。由于ScriptEncoder只加密在HTML頁面中嵌入的ASP代碼,其他部分仍保持不變,這就使得我們?nèi)匀豢梢允褂肍rontPage等常用網(wǎng)頁編輯工具對(duì)HTML部分進(jìn)行修改、完善,操作起來簡(jiǎn)單方便、效果良好。(四)利用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證
為防止未經(jīng)注冊(cè)的用戶繞過注冊(cè)界面直接進(jìn)入應(yīng)用系統(tǒng),可以采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證。Session對(duì)象最大的優(yōu)點(diǎn)是可以把某用戶的信息保留下來,讓后續(xù)的網(wǎng)頁讀取。一般情況,在設(shè)計(jì)網(wǎng)站時(shí)都要求用戶注冊(cè)成功后才可登錄。但如果不采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證,則用戶在瀏覽器中敲入“URL/hrmis.asp?page=1”即可繞過注冊(cè)界面,直接進(jìn)入系統(tǒng)。利用Session對(duì)象可以有效阻止這一情況的發(fā)生。
三、結(jié)束語
所謂魔高一尺,道高一丈:從網(wǎng)絡(luò)安全技術(shù)本質(zhì)上講,就是“攻”與“防”的技術(shù)。要確保Access數(shù)據(jù)庫文件不被非法下載,我們只有一方面要加強(qiáng)安全防范措施,防患于未然;另一方面也要經(jīng)常對(duì)自己的網(wǎng)站進(jìn)行安全測(cè)試,及時(shí)更新各種漏洞,讓網(wǎng)站真正為企業(yè)提供安全高效的信息服務(wù)。
網(wǎng)站設(shè)計(jì) 網(wǎng)站項(xiàng)目總結(jié) 網(wǎng)站營(yíng)銷論文 網(wǎng)站安全論文 網(wǎng)站設(shè)計(jì)論文 網(wǎng)站營(yíng)銷理念 網(wǎng)站實(shí)訓(xùn)總結(jié) 網(wǎng)站設(shè)計(jì)總結(jié) 網(wǎng)站推廣方案 網(wǎng)站管理論文 紀(jì)律教育問題 新時(shí)代教育價(jià)值觀