成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

IIS優化與安全-用IIS+ASP建網站的安全性分析
2007-09-24   網絡

隨著Internet的發展,Web技術日新月異,人們已經不再滿足于靜態HTML技術,更多的是要求動態、交互的網絡技術。繼通用網關接口(CGI)之后,微軟推出的IIS+ASP的解決方案作為一種典型的服務器端網頁設計技術,被廣泛應用在網上銀行、電子商務、網上調查、網上查詢、BBS、搜索引擎等各種互聯網應用中。

  與此同時,Access數據庫作為微軟推出的以標準JET為引擎的桌面型數據庫系統,由于具有操作簡單、界面友好等特點,具有較大的用戶群體。目前,IIS+ASP+Access是中小型Internet網站的首選方案。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴峻的安全問題。

  一、安全隱患分析

  IIS+ASP+Access解決方案的主要安全隱患來自Access數據庫的安全性,其次在于ASP網頁設計過程中的安全意識和措施。

  1.數據庫可能被下載

  在IIS+ASP+Access網站中,如果有人通過各種方法獲得或者猜到數據庫的存儲路徑和文件名,則該數據庫就可以被下載到本地。例如:對于網上書店數據庫,一般命名為book.mdb、store.mdb等,存儲路徑一般為“URL/database”或放在根目錄“URL/”下,這樣,任何人敲入地址:“URL/database/store.mdb”, 數據庫就可以被下載了。

  2.數據庫可能被解密

  由于Access數據庫的加密機制比較簡單,即使設置了密碼,解密也很容易。該數據庫系統通過將用戶輸入的密碼與某一固定密鑰(例如: Access 97為86 FB EC 37 5D 44 9C FA C6 5E 28 E6 13)進行“異或”來形成一個加密串,并將其存儲在*.mdb文件從地址“&H42”開始的區域內。我們可以輕松地編制解密程序,一個幾十行的小程序就可以輕松地獲得任何Access數據庫的密碼。因此,只要數據庫被下載,其信息就沒有任何安全性可言了。

  3.ASP頁面的安全性

  (1)源代碼安全性隱患。由于ASP程序采用非編譯性語言,大大降低了程序源代碼的安全性。如果黑客侵入站點,就可以獲得ASP源代碼;同時對于租用服務器的用戶,因個別服務器出租商的職業道德問題,也會造成ASP應用程序源代碼泄露。

  (2)程序設計中容易被忽視的安全性問題。ASP代碼使用表單實現交互,而相應的內容會反映在瀏覽器的地址欄中,如果不采用適當的安全措施,只要記下這些內容,就可以繞過驗證直接進入某一頁面。例如在瀏覽器中敲入“...page.asp?x=1”,即可不經過表單頁面直接進入滿足“x=1”條件的頁面。因此,在驗證或注冊頁面中,必須采取特殊措施來避免此類問題的產生。
 二、提高IIS+ASP網站安全性的方法

  1.防止數據庫被下載

  由于Access數據庫加密機制過于簡單,有效地防止數據庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。

  (1)非常規命名法。為Access數據庫文件起一個復雜的非常規名字,并把它放在幾個目錄下。例如,對于網上書店的數據庫,我們不把它命名為“book.mdb”或“Store.mdb”,而是起個非常規的名字,例如:faq9jl.mdb,再把它放在如./akkt/kj61/acd/av5 的幾層目錄下,這樣黑客想通過猜的方式得到Access數據庫文件名就很難了。

  (2)使用ODBC數據源。在ASP程序設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中,否則,數據庫名將隨ASP源代碼的失密而一同失密,例如:

DBPath = Server.MapPath(“./akkt/kj61/acd/av5/faq9jl.mdb ”)
conn.open “driver={Microsoft Access Driver (*.mdb)};dbq=”& DBPath


  可見,即使數據庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,也很容易被下載下來。如果使用ODBC數據源,就不會存在這樣的問題了:

conn.open “ODBC-DSN名”


  2.對ASP頁面進行加密

  為有效地防止ASP源代碼泄露,可以對ASP頁面進行加密。我們曾采用兩種方法對ASP頁面進行加密。一是使用組件技術將編程邏輯封裝入DLL之中;二是使用微軟的Script Encoder對ASP頁面進行加密。使用組件技術存在的主要問題是每段代碼均需組件化,操作比較繁瑣,工作量較大,而使用Encoder對ASP頁面進行加密,操作簡單、收效良好。Script Encoder的運行程序是SCRENC.EXE,使用方法是:

SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile


  其中:/s 是屏蔽屏幕輸出;/f 指定輸出文件是否覆蓋同名輸入文件;/xl 指是否在.asp文件的頂部添加@Language指令;/l defLanguag指定缺省的腳本語言; /e defExtension 指定待加密文件的擴展名。

  3.注冊驗證

  為防止未經注冊的用戶繞過注冊界面直接進入應用系統,我們采用Session對象進行注冊驗證。例如,我們制作了下面的注冊頁面。

  設計要求注冊成功后系統啟動hrmis.asp?page=1頁面。假設,不采用Session對象進行注冊驗證,則用戶在瀏覽器中敲入“URL/hrmis.asp?page=1”即可繞過注冊界面,直接進入系統。

  在此,利用Session對象進行注冊驗證:

〈%
’讀取使用者所輸入的賬號和密碼
UserID = Request(“UserID”)
Password = Request(“Password”)
’檢查UserID 及Password 是否正確
If UserID <>“hrmis” Or Password <>“password” Then
Response.Write “賬號錯誤!”
Response.End
End If
’將Session 對象設置為通過驗證狀態
Session(“Passed”) = True
%〉


  進入應用程序后,首先進行驗證:

〈%
’如果未通過驗證,返回Login狀態
If Not Session(“Passed”) Then
Response.Redirect “Login.asp”
End If
%〉


  通過對IIS+ASP+Access網上應用系統安全性的研究,我們對現有系統進行了改造,收到了較好的效果。

熱詞搜索:

上一篇:IIS優化與安全-讓IIS服務器支持中文文件名
下一篇:IIS優化與安全-提高操作系統和IIS安全性的絕招

分享到: 收藏
主站蜘蛛池模板: cctv16直播| 事业编面试题库及答案| 青春之放纵作文免费阅读| 罗马之战| 寡妇的大乳bd高清| 座头市电影完整免费观看| 歪爱时代| 隐藏的歌手第一季免费观看完整版| 寒形近字| 赖小子| 廖凡演的电影| 杨文元| 童年吉他谱原版c调| 降糖操30分钟降血糖视频| 头像图片2024最新款女| 彻夜之歌为什么被禁| 山楂树之恋电影剧情简介| 浪漫体质| 好男当家 电视剧| 陈学冬演过的电视剧有哪些| 打开双腿扒开打屁股羞辱惩罚视频| 贾樟柯对毕赣的评价| 都市频道节目表今天| 中医基础理论试题题库及答案 | 电影《遗产》韩国丧尸| 来5566看av激情电影使劲撸| 美丽交易| 直播惊魂夜| 李路导演简介| 魔女| 挖掘机动画片儿童| 《欲望中的女人》| 蛇魔女大闹都市| 卜冠今| 孙涛个人简历| 郭云飞| 土耳其电影水与火| 男同操视频| 大尺度床戏韩国| 女同视频在线| 让我们一起摇太阳|