資源描述:
《學(xué)校ASP網(wǎng)站漏洞及防范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、學(xué)校ASP網(wǎng)站漏洞及防范[摘要]冃前瀏陽的很多學(xué)校都建立了自己的網(wǎng)站,但都是基TASP和Access的,很多的網(wǎng)站是直接從網(wǎng)上下載的,有著很多網(wǎng)站的注入通病。[關(guān)鍵詞]瀏陽網(wǎng)站數(shù)據(jù)庫攻擊由TASP的方便易用,越來越多的網(wǎng)站后臺(tái)程序都使用ASP腳本語言。但是,由于ASP本身存在一些安全漏洞,稍不小心就會(huì)給攻擊者提供可乘Z機(jī)。冃前ASP+ACCESS網(wǎng)站的主要安全隱患來自Access數(shù)據(jù)庫的安全性,其次在于ASP網(wǎng)頁設(shè)計(jì)過程中的安全漏洞,也就是沒有把很多關(guān)鍵詞進(jìn)行過濾。一、漏洞解析1、用戶名與口令被破解用戶名與口令,往往是攻擊者們最感興趣的東西,如果被通過某種方式看到源代碼,后果是嚴(yán)重的,
2、我們的網(wǎng)站很快就會(huì)被攻擊者占據(jù)。2、ASP木馬有些網(wǎng)站允許用戶上傳文件,但必需對(duì)這些上傳文件十分小心,為什么論壇程序被攻破后主機(jī)也隨之被攻擊者占據(jù)。原因就在于可能存在ASP木馬,它能把一個(gè)文件隨便放到你論壇的程序中,進(jìn)而整個(gè)網(wǎng)站被攻擊者占?據(jù)。3、inc文件泄露問題當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對(duì)象。如果這時(shí)候有人利用搜索引擎對(duì)這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中杳看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。4、特殊字符輸入框是黑客利用的一個(gè)Fl標(biāo),他們可以通過輸入腳本語言等對(duì)用戶客戶端造成損壞;如果該輸
3、入框涉及數(shù)據(jù)查詢,他們會(huì)利用特殊杳詢語句,得到更多的數(shù)據(jù)庫數(shù)據(jù),甚至表的全部。因此必須對(duì)輸入框進(jìn)行過濾。但如果為了提高效率僅在客戶端進(jìn)行輸入合法性檢查,仍有可能被繞過。5、Access數(shù)據(jù)庫的存儲(chǔ)隱患在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜到Access數(shù)據(jù)庫的存儲(chǔ)路徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到木地。例如:對(duì)于網(wǎng)上書店的Access數(shù)據(jù)庫,人們一般命名為book.mdb>store,mdb等,而存儲(chǔ)的路徑一般為"URL/database"或干脆放在根目錄(“URL/”)下。這樣,只要在瀏覽器地址欄中敲入地址:"URL/database/store.mdb",就可以輕易
4、地把store,mdb下載到木地的機(jī)器中。二、防范對(duì)策1、防止泄露源代碼涉及用戶名與口令的程序最好封裝在服務(wù)器端,盡量少在ASP文件里出現(xiàn),涉及與數(shù)據(jù)庫連接的用戶名與口令應(yīng)給予最小的權(quán)限。出現(xiàn)次數(shù)多的用戶名與口令可以寫在一個(gè)位置比較隱蔽的包含文件中。如果涉及與數(shù)據(jù)庫連接,在理想狀態(tài)下只給它以執(zhí)行存儲(chǔ)過程的權(quán)限,千萬不要直接給予該用戶修改、插入、刪除記錄的權(quán)限。2、限制上傳文件格式為了防止ASP木馬被上傳到服務(wù)器,3、加密inc文件程序員應(yīng)該在網(wǎng)頁發(fā)布前對(duì)它進(jìn)行徹底的調(diào)試還必需加同ASP文件以便外部的用戶不能看到它們。首先對(duì).inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc
5、文件使用戶無法從瀏覽器直接觀看文件的源代碼。inc文件的文件名不要使用系統(tǒng)默認(rèn)的或者有特殊含義容易被用戶猜測到的名稱,盡量使用無規(guī)則的英文字母。4、屏蔽某些特殊的語名和字符在處理類似留言板、BBS等輸入框的ASP程序中,最好屏蔽掉HTML>JavaScript>VBScript語句,如無特殊要求,可以限定只允許輸入字母與數(shù)字,屏蔽掉特殊字符。同時(shí)對(duì)輸入字符的長度進(jìn)行限制。對(duì)輸入的字符不但要在客戶端進(jìn)行輸入合法性檢查,同時(shí)要在服務(wù)器端程序中進(jìn)行類似檢查。5、提高數(shù)據(jù)庫的安全性由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,因此,如何有效地防止Access數(shù)據(jù)庫被卜?載,就成了提高ASP+Acce
6、ss解決方案安全性的重中之重。①非常規(guī)命名法防止數(shù)據(jù)庫被找到的簡便方法是為Access數(shù)據(jù)庫文件起一個(gè)復(fù)朵的非常規(guī)名字,并把它存放在多層目錄卜=例如,對(duì)于網(wǎng)上書店的數(shù)據(jù)庫文件,不要簡單地命名為“book.mdb”或“store.mdb”,而是要起個(gè)非常規(guī)的名字,例如:d34ksfslf.mdb,并把它放在如./kdslf/i44/studi/的幾層目錄下。這樣,對(duì)于一些通過猜的方式得到Access數(shù)據(jù)庫文件名的非法訪問方法起到了有效的阻止作用。②使用ODBC數(shù)據(jù)源在ASP程序設(shè)計(jì)中,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名直接寫在程序屮,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
7、例如:MyPath=Server.MapPath(u./kdslf/i44/studi/d34ksfslf.mdb)mycorm.Open“driver二{Micros。ftAccessDriver(*.mdb)};dbq二”&myPath可見,即使數(shù)據(jù)庫名字起得再怪異,隱藏的口錄再深,ASP源代碼失密后,數(shù)據(jù)庫也很容易被下載下來。6、利用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證為防止未經(jīng)注冊(cè)的用戶繞過注冊(cè)界血直接進(jìn)入應(yīng)用系統(tǒng),口J以采用Session對(duì)