王繼紅
黑龍江信息技術職業學院,黑龍江 哈爾濱 150025
隨著Internet的發展,Web技術日新月異。ASP(Active Server Pages)作為一種典型的、成熟的服務器端網頁設計技術,被廣泛地應用在企業網站、網上商城等各種互聯網應用中。同時Access數據庫作為微軟推出的以標準JET為引擎的桌面型數據庫系統,由于具有界面友好、操作簡單等特點,具有大量的用戶群體。因此,ASP+Access成為很多中小型網上應用系統的首選方案。但ASP+Access解決方案在為我們帶來便利的同時,也帶來了很多不容忽視的安全問題。
在ASP+Access應用系統中,攻擊者會根據經驗獲得或者猜到Access數據庫的存儲路徑和數據庫名,則該數據庫就可以被下載到本地。例如:對于一些網上商城系統的Access數據庫,設計者一般命名為shop.mdb、store.mdb等,而存儲的路徑一般為“URL/data/”或干脆放在根目錄(“URL/”)下。這樣,只要在瀏覽器地址欄中敲入地址:“URL/data/store.mdb”,就可以輕易地把shop.mdb下載到本地的機器中。因為Access加密串存儲在*.mdb文件中從地址“&H42”開始的區域內。通過解密程序可以輕松地得到Access數據庫的密碼。因此無論即使設置了數據庫密碼,只要數據庫被下載,其信息就沒有任何安全性可言了。所以如何有效地防止Access數據庫被下載,就成了提高ASP+Access系統安全性的重中之重。
1)非常規命名法:防止數據庫被找到的簡便方法是為Access數據庫文件起一個非常規的復雜的名字,并把它存放在多層目錄下。例如,對于網上商城的數據庫文件,起個非常規的名字,例如:mhr4v53h.mdb,再把它放在如:/atncj16t/kgyb61/ahjx5rv 之類的深層目錄下。這樣,對于通過猜測得到Access數據庫文件名并破解的,起到了有效的阻止作用。
2)使用ODBC數據源:在ASP程序設計中,數據庫名和路徑會出現在ASP源代碼中。例如:

可見,即使數據庫名字起得再怪異,隱藏的目錄再深,ASP源碼失密后,數據庫也很容易被破解。如果使用ODBC數據源,就不會有這樣的問題了,如:conn.open “ODBC-DSN名”。
3)對ASP源碼加密:為有效地防止ASP源代碼泄露,可以對ASP頁面進行加密。一般有兩種方法對ASP頁面進行加密。一種是使用組件技術將編程邏輯封裝入DLL之中;另一種是使用微軟的Script Encoder對ASP頁面進行加密。一般使用組件技術存在的主要問題是每段代碼均需組件化,操作比較煩瑣,工作量較大;而使用Script Encoder對ASP頁面進行加密,操作簡單、收效良好。
asp手工注入漏洞檢測:例如網址http://site/hack92.asp?id=1我們在這個地址后面加上單引號’ 然后and 1=1 正確 and 1=2 錯誤的話就說明存在注入漏洞了。
注入點sa權拿服務器:注入點http://site/hack92.asp?id=1是否存在xp_cmdshell and 1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell')
——用xp_cmdshell執行命令
;exec master..xp_cmdshell"net user name password /add"—
;exec master..xp_cmdshell"net localgroup name administrators /add"—
當然我們可以直接讓工具來幫我們搞定。這一類工具有Domain,NBSI,HDSI等等
現在比較流行的SQL注入攻擊是通過GET和POST來完成具體的注入。我們可以通過一些判斷語句,將注入時所用到的重要符號過濾掉,以達到防止非法注入目的。下面是asp中防止腳本注入攻擊代碼示例:


通過分析我們發現,攻擊者不管是通過備份數據庫、破解數據庫、SQL注入、上傳漏洞,其目的就是為了得到管理員的用戶名和密碼進入后臺,得到一個WebShell。如果我們程序、數據庫不存在這些漏洞,攻擊者前面做的很多事都將會是徒勞的。但網站管理員還要記住,有些時候因密碼保管不當,或無意中泄露,也會導致網站系統的安全問題,所以提高密碼意識,建立密碼管理制度也是保證網站系統安全的重要原則。
[1]趙燕燕.ASP技術在Web數據庫開發中的使用[J].河南職工醫學院學報,2009,1.
[2]尚俊杰.網絡程序設計—ASP.清華大學出版社有限公司,2009,1.
[3]李禹生.ASP實用技術(網絡數據庫應用系統設計)[M].水利水電出版社,2004,8.
[4]黃爽,郭勝,高平茹.ASP網絡程序設計教程[M].清華大學出版社,2007,12.