掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

ASP使用(yòng)Access數據庫的(de)安全隐患及對策

2019/3/6 10:48:36

ASP使用(yòng)Access數據庫的(de)安全隐患及對策

随著(zhe)Internet的(de)發展,Web技術(shù)日新月(yuè)異。繼通用(yòng)網關接口(CGI)之後,“ASP”(Active Server Pages)作爲一種典型的(de)服務器(qì)端網頁設計(jì)技術(shù),被廣泛地(dì)應用(yòng)在網上(shàng)銀行(xíng)、電子商務、搜索引擎等各種互聯網應用(yòng)中。同時Access數據庫作爲微軟推出的(de)以标準JET爲引擎的(de)桌面型數據庫系統,由于具有(yǒu)操作簡單、界面友(yǒu)好等特點,具有(yǒu)較大(dà)的(de)用(yòng)戶群體。因此ASP+Access成爲許多中小(xiǎo)型網上(shàng)應用(yòng)系統的(de)首選方案。但(dàn)ASP+Access解決方案在爲我們帶來便捷的(de)同時,也(yě)帶來了不容忽視的(de)安全問題。
ASP+Access的(de)安全隐患ASP+Access解決方案的(de)主要安全隐患來自Access數據庫的(de)安全性,其次在于ASP網頁設計(jì)過程中的(de)安全漏洞。
1.Access數據庫的(de)存儲隐患
  在ASP+Access應用(yòng)系統中,如(rú)果獲得或者猜到(dào)Access數據庫的(de)存儲路(lù)徑和(hé)數據庫名,則該數據庫就可(kě)以被下載到(dào)本地(dì)。例如(rú):對于網上(shàng)書(shū)店(diàn)的(de)Access數據庫,人(rén)們一般命名爲book.mdb、store.mdb等,而存儲的(de)路(lù)徑一般爲“URL/database”或幹脆放(fàng)在根目錄(“URL/”)下。這樣,隻要在浏覽器(qì)地(dì)址欄中敲入地(dì)址:“URL/database/store.mdb”,就可(kě)以輕易地(dì)把store.mdb下載到(dào)本地(dì)的(de)機器(qì)中。目前鑫冠的(de)虛拟主機已經作了相(xiàng)應的(de)限制(zhì),不準許*.mdb文(wén)件(jiàn)的(de)下載。
2.Access數據庫的(de)解密隐患
  由于Access數據庫的(de)加密機制(zhì)非常簡單,所以即使數據庫設置了密碼,解密也(yě)很容易。該數據庫系統通過将用(yòng)戶輸入的(de)密碼與某一固定密鑰進行(xíng)異或來形成一個(gè)加密串,并将其存儲在*.mdb文(wén)件(jiàn)中從地(dì)址“&H42”開(kāi)始的(de)區域内。由于異或操作的(de)特點是“經過兩次異或就恢複原值”,因此,用(yòng)這一密鑰與*.mdb文(wén)件(jiàn)中的(de)加密串進行(xíng)第二次異或操作,就可(kě)以輕松地(dì)得到(dào)Access數據庫的(de)密碼。基于這種原理(lǐ),可(kě)以很容易地(dì)編制(zhì)出解密程序。
  由此可(kě)見,無論是否設置了數據庫密碼,隻要數據庫被下載,其信息就沒有(yǒu)任何安全性可(kě)言了。
3.源代碼的(de)安全隐患
  由于ASP程序采用(yòng)的(de)是非編譯性語言,這大(dà)大(dà)降低了程序源代碼的(de)安全性。任何人(rén)隻要進入站點,就可(kě)以獲得源代碼,從而造成ASP應用(yòng)程序源代碼的(de)洩露。 4.程序設計(jì)中的(de)安全隐患 
  ASP代碼利用(yòng)表單(form)實現與用(yòng)戶交互的(de)功能(néng),而相(xiàng)應的(de)内容會(huì)反映在浏覽器(qì)的(de)地(dì)址欄中,如(rú)果不采用(yòng)适當的(de)安全措施,隻要記下這些内容,就可(kě)以繞過驗證直接進入某一頁面。例如(rú)在浏覽器(qì)中敲入“……page.asp?x=1”,即可(kě)不經過表單頁面直接進入滿足“x=1”條件(jiàn)的(de)頁面。因此,在設計(jì)驗證或注冊頁面時,必須采取特殊措施來避免此類問題的(de)發生。
  提高(gāo)數據庫的(de)安全性由于Access數據庫加密機制(zhì)過于簡單,因此,如(rú)何有(yǒu)效地(dì)防止Access數據庫被下載,就成了提高(gāo)ASP+Access解決方案安全性的(de)重中之重。 1.非常規命名法
  防止數據庫被找到(dào)的(de)簡便方法是爲Access數據庫文(wén)件(jiàn)起一個(gè)複雜的(de)非常規名字,并把它存放(fàng)在多層目錄下。例如(rú),對于網上(shàng)書(shū)店(diàn)的(de)數據庫文(wén)件(jiàn),不要簡單地(dì)命名爲“book.mdb”或“store.mdb”,而是要起個(gè)非常規的(de)名字,例如(rú):
  faq19jhsvzbal.mdb,再把它放(fàng)在如(rú)./akkjj16t/kjhgb661/acd/avccx55 之類的(de)深層目錄下。這樣,對于一些通過猜的(de)方式得到(dào)Access數據庫文(wén)件(jiàn)名的(de)非法訪問方法起到(dào)了有(yǒu)效的(de)阻止作用(yòng)。
  2.使用(yòng)ODBC數據源
  在ASP程序設計(jì)中,應盡量使用(yòng)ODBC數據源,不要把數據庫名直接寫在程序中,否則,數據庫名将随ASP源代碼的(de)失密而一同失密。例如(rú):
  DBPath = Server.MapPath(“./akkjj16t/
  kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ”)
  conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath
  可(kě)見,即使數據庫名字起得再怪異,隐藏的(de)目錄再深,ASP源代碼失密後,數據庫也(yě)很容易被下載下來。如(rú)果使用(yòng)ODBC數據源,就不會(huì)存在這樣的(de)問題了:
  conn.open “ODBC-DSN名”
  對ASP頁面進行(xíng)加密爲有(yǒu)效地(dì)防止ASP源代碼洩露,可(kě)以對ASP頁面進行(xíng)加密。一般有(yǒu)兩種方法對ASP頁面進行(xíng)加密。一種是使用(yòng)組件(jiàn)技術(shù)将編程邏輯封裝入DLL之中;另一種是使用(yòng)微軟的(de)Script Encoder對ASP頁面進行(xíng)加密。筆(bǐ)者認爲,使用(yòng)組件(jiàn)技術(shù)存在的(de)主要問題是每段代碼均需組件(jiàn)化,操作比較煩瑣,工(gōng)作量較大(dà);而使用(yòng)Script Encoder對ASP頁面進行(xíng)加密,操作簡單、收效良好。
Script Encoder方法具有(yǒu)許多優點:
1.HTML仍具有(yǒu)很好的(de)可(kě)編輯性。Script Encoder隻加密在HTML頁面中嵌入的(de)ASP代碼,其他(tā)部分(fēn)仍保持不變,這就使得我們仍然可(kě)以使用(yòng)FrontPage或Dreamweaver等常用(yòng)網頁編輯工(gōng)具對HTML部分(fēn)進行(xíng)修改、完善,隻是不能(néng)對ASP加密部分(fēn)進行(xíng)修改,否則将導緻文(wén)件(jiàn)失效。
2.操作簡單。隻要掌握幾個(gè)命令行(xíng)參數即可(kě)。Script E


深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04

咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号