ASP網站設計安全性分析論文
時間:2022-10-18 04:25:00
導語:ASP網站設計安全性分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
論文關鍵詞:ASP;黑客攻擊;SQL注入;安全漏洞;木馬后門
論文摘要:網絡上的動態網站以ASP為多數,我們學校的網站也是ASP的。筆者作為學校網站的制作和維護人員,與ASP攻擊的各種現象斗爭了多次,也對網站進行了一次次的修補,根據工作經驗,就ASP網站設計常見安全漏洞及其防范進行一些探討。本文結合ASP動態網站開發經驗,對ASP程序設計存在的信息安全隱患進行分析,討論了ASP程序常見的安全漏洞,從程序設計角度對WEB信息安全及防范提供了參考。
1網絡安全總體狀況分析
2007年1月至6月期間,半年時間內,CNCERT/CC接收的網絡仿冒事件和網頁惡意代碼事件,已分別超出去年全年總數的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標明確,針對不同網站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現明顯。對政府類和安全管理相關類網站主要采用篡改網頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業,尤其是以網絡為核心業務的企業,采用有組織的分布式拒絕服務攻擊(DDoS)等手段進行勒索,影響企業正常業務的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產。
微軟推出的IIS+ASP的解決方案作為一種典型的服務器端網頁設計技術,被廣泛應用在網上銀行、電子商務、網上調查、網上查詢、BBS、搜索引擎等各種互聯網應用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴峻的安全問題。本文從ASP程序設計角度對WEB信息安全及防范進行分析討論。
3SP安全漏洞和防范
3.1程序設計與腳本信息泄漏隱患
bak文件。攻擊原理:在有些編輯ASP程序的工具中,當創建或者修改一個ASP文件時,編輯器自動創建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。
防范技巧:上傳程序之前要仔細檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當存在ASP的主頁正在制作且沒有進行最后調試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網頁進行查找,會得到有關文件的定位,并能在瀏覽器中查看到數據庫地點和結構的細節,并以此揭示完整的源代碼。
防范技巧:程序員應該在網頁前對它進行徹底的調試。首先對.inc文件內容進行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2對ASP頁面進行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進行加密。我們曾采用兩種方法對ASP頁面進行加密。一是使用組件技術將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進行加密。3.3程序設計與驗證不全漏洞
驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內容,但網上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統上頻繁注冊,頻繁發送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術,使客戶端輸入的信息都必須經過驗證,從而可以解決這個問題。
登陸驗證。對于很多網頁,特別是網站后臺管理部分,是要求有相應權限的用戶才能進入操作的。但是,如果這些頁面沒有對用戶身份進行驗證,黑客就可以直接在地址欄輸入收集到的相應的URL路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權限。所以,登陸驗證是非常必要的。
SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區別,所以目前市面的防火墻都不會對SQL注入發出警報,如果管理員沒查看IIS日志的習慣,可能被入侵很長時間都不會發覺。
SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構造SQL語句或存儲過程的參數。以下列出三種攻擊的形式:
A.用戶登錄:假設登錄頁面有兩個文本框,分別用來供用戶輸入帳號和密碼,利用執行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的0=0總是成立的,最后結果就是該黑客成為了合法的用戶。
B.用戶輸入:假設網頁中有個搜索功能,只要用戶輸入搜索關鍵字,系統就列出符合條件的所有記錄,可是,如果黑客在關鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。
C.參數傳遞:假設我們有個網頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構成某SQL語句,這種情況很常見。可是,如果黑客將地址變為HTTP://……asp?id=22anduser=0,結果會怎樣?如果程序員有沒有對系統的出錯提示進行屏蔽處理的話,黑客就獲得了數據庫的用戶名,這為他們的進一步攻擊提供了很好的條件。
解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql語言+反復嘗試”的方式,可以構造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:
第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二:在客戶端利用ASP自帶的校驗控件和正則表達式對用戶輸入進行校驗,發現非法字符,提示用戶且終止程序進行;
第三:為了防止黑客避開客戶端校驗直接進入后臺,在后臺程序中利用一個公用函數再次對用戶輸入進行檢查,一旦發現可疑輸入,立即終止程序,但不進行提示,同時,將黑客IP、動作、日期等信息保存到日志數據表中以備核查。
第四:對于參數的情況,頁面利用QueryString或者Quest取得參數后,要對每個參數進行判斷處理,發現異常字符,要利用replace函數將異常字符過濾掉,然后再做下一步操作。
第五:只給出一種錯誤提示信息,服務器都只提示HTTP500錯誤。
第六:在IIS中為每個網站設置好執行權限。千萬別給靜態網站以“腳本和可執行”權限。一般情況下給個“純腳本”權限就夠了,對于那些通過網站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執行權限設為“無”好了。
第七:數據庫用戶的權限配置。對于MS_SQL,如果PUBLIC權限足夠使用的絕不給再高的權限,千萬不要SA級別的權限隨隨便便地給。
3.4傳漏洞
諸如論壇,同學錄等網站系統都提供了文件上傳功能,但在網頁設計時如果缺少對用戶提交參數的過濾,將使得攻擊者可以上傳網頁木馬等惡意文件,導致攻擊事件的發生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術手段或者程序漏洞得到數據庫的地址,并將數據非法下載到本地。
數據庫可能被下載。在IIS+ASP網站中,如果有人通過各種方法獲得或者猜到數據庫的存儲路徑和文件名,則該數據庫就可以被下載到本地。
數據庫可能被解密
由于Access數據庫的加密機制比較簡單,即使設置了密碼,解密也很容易。因此,只要數據庫被下載,其信息就沒有任何安全性可言了。
防止數據庫被下載。由于Access數據庫加密機制過于簡單,有效地防止數據庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規命名法。為Access數據庫文件起一個復雜的非常規名字,并把它放在幾個目錄下。
使用ODBC數據源。在ASP程序設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中,否則,數據庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經過MD5加密,再結合生成圖片驗證碼技術,暴力破解的難度會大大增強。
使用數據備份。當網站被黑客攻擊或者其它原因丟失了數據,可以將備份的數據恢復到原始的數據,保證了網站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5SP木馬
由于ASP它本身是服務器提供的一項服務功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠不會被查殺的后門”。我在這里講講如何有效的發現web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進行掃描,可以有效的發現并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,FlashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發現是否多出可疑文件。
技巧3:用BeyondCompare2進行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時候就會作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時,最好幾種方法結合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結束語
總結了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護網頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調用一定要進行身份認證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復雜性,不能過于簡單,還要注意定期更換。
到正規網站下載asp程序,下載后要對其數據庫名稱和存放路徑進行修改,數據庫文件名稱也要有一定復雜性。
要盡量保持程序是最新版本。
不要在網頁上加注后臺管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護后刪除后臺管理程序的登陸頁面,下次維護時再通過上傳即可。
要時常備份數據庫等重要文件。
日常要多維護,并注意空間中是否有來歷不明的asp文件。
一旦發現被人侵,除非自己能識別出所有木馬文件,否則要刪除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數據庫名稱和存放路徑以及后臺管理程序的路徑。
做好以上防范措施,您的網站只能說是相對安全了,決不能因此疏忽大意,因為入侵與反入侵是一場永恒的戰爭!網站安全是一個較為復雜的問題,嚴格的說,沒有絕對安全的網絡系統,我們只有通過不斷的改進程序,將各種可能出現的問題考慮周全,對潛在的異常情況進行處理,才能減少被黑客入侵的機會。
參考文獻
[1]袁志芳田曉芳李桂寶《ASP程序設計與WEB信息安全》中國教育信息化2007年21期.
[2]陳明奇《2007年上半年網絡安全狀況分析》信息網絡安全2007年第10期
[3]《防范ASP木馬的十大基本原則》計算機與網絡,2006年第1期
- 上一篇:企業網站設計誤區分析論文
- 下一篇:網站設計風格與色彩分析論文