梅彬
摘 要:Access+ASP搭建的動(dòng)態(tài)網(wǎng)站被廣泛應(yīng)用于校園網(wǎng)、BBS等各種網(wǎng)絡(luò)活動(dòng)中,它簡(jiǎn)單方便的同時(shí)也帶來(lái)了一些列的安全問(wèn)題。本文就Access+ASP網(wǎng)站存在的主要安全隱患及防范對(duì)策進(jìn)行了分析。
關(guān)鍵詞:asp;數(shù)據(jù)庫(kù);安全防范;對(duì)策
中圖分類(lèi)號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)07-0029-01
1 安全隱患分析
Access+ASP網(wǎng)站主要安全隱患一方面來(lái)自Access數(shù)據(jù)庫(kù)的安全性,一方面來(lái)自ASP網(wǎng)頁(yè)設(shè)計(jì)過(guò)程中的安全意識(shí)。
1.1 數(shù)據(jù)庫(kù)被下載
數(shù)據(jù)庫(kù)安全與否關(guān)系到網(wǎng)站的安全。ACCESS數(shù)據(jù)庫(kù)名字的后綴是(*.mdb),攻擊者可以通過(guò)多次路徑猜想獲取數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中的關(guān)鍵信息特別是管理員用戶(hù)名和密碼,就完全暴露在攻擊者的面前,這時(shí)網(wǎng)站已經(jīng)無(wú)安全可言。解決這個(gè)問(wèn)題的常規(guī)方法是先把數(shù)據(jù)庫(kù)文件名的后綴由“.mdb”改為“.asp,再修改連接文件中的鏈接地址,這樣即使別人猜到數(shù)據(jù)庫(kù)文件名及存儲(chǔ)位置,也不容易下載。原因是以“,mdb”結(jié)尾的文件內(nèi)容是直接輸出至瀏覽器頁(yè)面,而以“.asp”結(jié)尾的文件則要經(jīng)過(guò)處理,顯示在瀏覽器頁(yè)面上的內(nèi)容是處理后的結(jié)果。采取這種方法保護(hù)數(shù)據(jù)庫(kù),攻擊者仍可借助一些網(wǎng)絡(luò)下載工具(flashget)順利下載。這說(shuō)明單純修改數(shù)據(jù)庫(kù)文件名的后綴還是不能避免被下載。
1.2 數(shù)據(jù)庫(kù)被解密
網(wǎng)站將所使用的Access數(shù)據(jù)庫(kù)在存儲(chǔ)時(shí)采用了系統(tǒng)自帶的加密方法,由于系統(tǒng)自帶的加密方法是采用“異或”的方式來(lái)加密。這種加密方法簡(jiǎn)單安全性低,網(wǎng)上隨便下載一個(gè)異或解密工具就可以輕松的獲得密碼字符串,這樣數(shù)據(jù)庫(kù)也會(huì)被完全解密。
1.3 ASP頁(yè)面存在的安全問(wèn)題
(1)ASP源代碼不安全。由于ASP腳本程序是直接集成在HTML中,無(wú)需編譯直接被瀏覽器解釋和執(zhí)行,一般用戶(hù)能輕松獲得ASP源代碼;如果使用下載工具Teleport Ultra也能獲得源代碼,造成代碼泄露。
(2)腳本程序設(shè)計(jì)考慮欠缺帶來(lái)的安全隱患。網(wǎng)頁(yè)設(shè)計(jì)中,用戶(hù)和服務(wù)器的交流的主要工具是表單,用戶(hù)通過(guò)表單向服務(wù)器提交和接收數(shù)據(jù),服務(wù)器要依靠我們?cè)O(shè)計(jì)的腳本程序來(lái)處理和收集數(shù)據(jù),我們?cè)谀_本程序設(shè)計(jì)中稍有考慮不周全的地方就會(huì)出現(xiàn)很多意想不到的安全問(wèn)題。
2 安全防范措施
2.1 防止數(shù)據(jù)庫(kù)被下載
Access簡(jiǎn)單兼容性好是小型數(shù)據(jù)庫(kù)首先方案,安全方面只要做一些防范措施,還是可以確保網(wǎng)站的安全性。其中最重要的是防止數(shù)據(jù)庫(kù)被下載。以下三種方法簡(jiǎn)單而有效。
(1)非常規(guī)取名,名字前加特殊符號(hào)。為Access數(shù)據(jù)庫(kù)文件起一個(gè)復(fù)雜的名字,名字前加一個(gè)“#”或者空格符號(hào),并把它放在多級(jí)目錄下。非法下載時(shí)“#”前的會(huì)被識(shí)別,后的不被識(shí)別,空格被識(shí)別為“%”號(hào)。假設(shè):http://www.ynqj.net/rt/# 000.mdb;http://www.ynqj.net/rt/%000.mdb存在,借助瀏覽器和工具下載時(shí):前者下載的是網(wǎng)站首頁(yè)文檔,后者顯示下載路徑不存在。
(2)使用ODBC數(shù)據(jù)源。自己有服務(wù)器,可以使用ODBC數(shù)據(jù)源方法。只要注意在程序設(shè)計(jì)中不出現(xiàn)數(shù)據(jù)庫(kù)的名字,數(shù)據(jù)庫(kù)被下載的可能性就不存在,但是這種方法如果存儲(chǔ)目錄改變就要重新設(shè)置數(shù)據(jù)源比較麻煩。
(3)改變數(shù)據(jù)庫(kù)位置,設(shè)置文件的權(quán)限。把數(shù)據(jù)庫(kù)文件存放在網(wǎng)站主目錄外的文件里,合理設(shè)置該文件的權(quán)限,做數(shù)據(jù)庫(kù)名的MDB映射,修改連接,這樣就可以正常調(diào)用數(shù)據(jù)庫(kù)且不會(huì)被下載。
2.2 對(duì)數(shù)庫(kù)進(jìn)行md5加密并修改文件頭
網(wǎng)上破解軟件層出不窮,隨便下載一個(gè)就可輕松破解數(shù)據(jù)庫(kù)。筆者嘗試先對(duì)數(shù)據(jù)庫(kù)進(jìn)行md5加密,再修改數(shù)據(jù)庫(kù)的文件頭,因?yàn)槲募^的前16個(gè)字節(jié)保存了mdb文件的相關(guān)信息,一旦被修改,數(shù)據(jù)庫(kù)的相關(guān)信息就被隱藏,即是數(shù)據(jù)庫(kù)被下載了,破解的難度也很大。
2.3 對(duì)ASP頁(yè)面進(jìn)行加密
ASP頁(yè)面加密常用的技術(shù)有三種,組件加密技術(shù)、微軟的 Script Encoder技術(shù)、自編程序加密。組件加密技術(shù)不能反編譯最安全,難破解,但是工作量大,代碼較多的網(wǎng)站不易做到,因每段代碼都需組件化封裝; Script Encoder簡(jiǎn)單易學(xué)、可批量加密,支持多種腳本服務(wù)器語(yǔ)言如:ASP、HTML、JS等,應(yīng)用范圍廣,但是存在加密后低版本瀏覽器可能會(huì)顯示不正常,易被破解;自編程序加密的基本思路是寫(xiě)一個(gè)加密和一個(gè)解密函數(shù),先對(duì)代碼進(jìn)行加密再在執(zhí)行過(guò)程中解密,這種加密方法因人而異,可隨時(shí)修改,發(fā)揮空間大,不容易被解密,但要求很高,一般人不容易實(shí)現(xiàn)。
網(wǎng)絡(luò)環(huán)境復(fù)雜,技術(shù)更新快,攻擊手段也是多種多樣,我們只有根據(jù)實(shí)際情況,選擇多種方法組合使用,網(wǎng)站信息才會(huì)更安全;同時(shí)要養(yǎng)成備份重要數(shù)據(jù)的習(xí)慣,隨時(shí)做好計(jì)算機(jī)各種資料數(shù)據(jù)的備份,這樣才能保證網(wǎng)站的安全性。
參考文獻(xiàn)
[1]喻華.ASP網(wǎng)站的安全問(wèn)題及對(duì)策分析.計(jì)算機(jī)與網(wǎng)絡(luò),2004.
[2]王宇虹.Access數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)從基礎(chǔ)到實(shí)踐[M].2006-3-1.
[3]張弘.初探中國(guó)ASP[M].電子與電腦,2001.