中文久久久字幕|亚洲精品成人 在线|视频精品5区|韩国国产一区

歡迎來到優(yōu)發(fā)表網(wǎng),期刊支持:400-888-9411 訂閱咨詢:400-888-1571股權(quán)代碼(211862)

購物車(0)

期刊大全 雜志訂閱 SCI期刊 期刊投稿 出版社 公文范文 精品范文

網(wǎng)站設(shè)計安全性范文

時間:2023-03-06 16:05:27

序論:在您撰寫網(wǎng)站設(shè)計安全性時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。

網(wǎng)站設(shè)計安全性

第1篇

關(guān)鍵詞:安全;網(wǎng)站;數(shù)據(jù)庫加密

中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)32-1099-04

Research and Realization of the Safety in Website Design

HU Gang1, XIA Rong2

(1.Sichuan Information Technology College,Guangyuan 628017,China; 2.Science and Technology College of NCHU,Nanchang 330034,China)

Abstract: In the computer system, the information is to point the procedure on the equipments with data saving in calculator and its exterior. Because the computer information in the system involves secret problems, it is easily attached by ulterior motives by hostile influence and some illegal customers. Additionally almost all of the calculator systems contain latent crisis of the different degree, extending the safety of the personal information, the problem of keeping secret is more and more valued by people. This paper discusses the safety problems existing in website design from the system and applied program design.The safety of the net can be improved by loading the newest pitch program and adopting NTES format on the system layers.And the safety problems can be resolved by identifying the ID and by encrypting in applied program design. This paper introduces how to improve safety in the development of website, and points out how to encrypt and decrypt the database,and at the same time gives some examples.

Key words: Safety; Website; Database Encryption

1 引言

信息與通信技術(shù)迅速在多個領(lǐng)域取得了突破性進(jìn)展,如實現(xiàn)了光纖密集波分復(fù)用的超大容量光通信系統(tǒng),還有即將投入使用的具有多種業(yè)務(wù)、多種功能的第三代移動通信系統(tǒng),再就是牽動全世界的、即將使100多年來的電話網(wǎng)發(fā)生變革的、在一個網(wǎng)上實現(xiàn)話音、數(shù)據(jù)和廣播電視三網(wǎng)融合的新一代互聯(lián)網(wǎng)。信息與通信如此神奇的發(fā)展,使當(dāng)今社會生產(chǎn)力從工業(yè)化社會大大向信息化社會推進(jìn)了一步,知識(科技、網(wǎng)絡(luò))經(jīng)濟(jì)已不可逆轉(zhuǎn)地出現(xiàn)于市場商品經(jīng)濟(jì)的大潮中。可是,信息化社會賴以建立的物質(zhì)基礎(chǔ)――信息與通信網(wǎng),卻在萬千世界中處于新生的、比較脆弱的位次,它的成長、它的安全性與可靠性,承受著來自兩大方面的損害、攻擊與破壞。一是來自信息與通信網(wǎng)設(shè)備系統(tǒng)本身的軟件與硬件。由于當(dāng)前工藝(技術(shù))水平所限,它們不可避免地會存在弱點、缺陷、變質(zhì)、老化、過期以及互串、互拆、過壓、過流、擊穿和燒毀等現(xiàn)象。為了設(shè)備系統(tǒng)的可靠性,為此建有龐大的支撐系統(tǒng)和完善的監(jiān)視、監(jiān)測、轉(zhuǎn)換等功能的維護(hù)管理系統(tǒng),還有冷、熱備用以及替代體制等,以實現(xiàn)對信息與通信網(wǎng)自動或人為地更換、更新元部件和線纜;更換、更新軟件版本;補充和擴展網(wǎng)絡(luò)。其目的是使信息與通信網(wǎng)設(shè)備系統(tǒng)有滿意的可靠性。

網(wǎng)站設(shè)計中,網(wǎng)站自身的安全性非常重要,對個人信息的真實性和機密性的研究,具體的研究內(nèi)容包含了以下的幾個方面:

1) 軟件安全

軟件安全主要是指保證所有計算機程序和文件資料免遭破壞、非法拷貝、非法使用而采用的技術(shù)和方法。它的主要內(nèi)容有:

① 軟件的自身安全:防止軟件丟失、被破壞、被篡改、被偽造,核心是保護(hù)軟件自身的安全;

② 軟件的存儲安全:可靠存儲(保密/壓縮/備份);

③ 軟件的通信安全:系統(tǒng)擁有的和產(chǎn)生的數(shù)據(jù)信息完整、有效,不被破壞或泄露;

④ 軟件的使用安全:合法使用,防竊取和非法復(fù)制;

⑤ 軟件的運行安全:確保軟件的正常運行,功能正常。

2) 數(shù)據(jù)安全

個人信息的數(shù)據(jù)安全是指通過對數(shù)據(jù)采集、錄入、存儲、加工、揭穿地等數(shù)據(jù)流動的各個環(huán)節(jié)進(jìn)行精心的組織和嚴(yán)格控制,防止數(shù)據(jù)被故意的或偶然的非法授權(quán)泄露、更改、破壞或使數(shù)據(jù)被非法系統(tǒng)辯識、控制。它包括以下內(nèi)容:

① 數(shù)據(jù)庫的安全;

② 數(shù)據(jù)加密技術(shù);

③ 壓縮技術(shù);

④ 備份技術(shù)。

3) 網(wǎng)絡(luò)安全

隨著信息高速公路的建設(shè)和國際互聯(lián)網(wǎng)的形成,個人信息通過網(wǎng)絡(luò)傳播也是很頻繁的途徑,網(wǎng)絡(luò)安全是指為了保證網(wǎng)絡(luò)及其安全而采用的技術(shù)和方法。主要包括:

① 網(wǎng)絡(luò)安全策略和安全機制;

② 網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù);

③ 密鑰管理技術(shù);

④ 防火墻技術(shù)。

2 操作頁面控制算法的實現(xiàn)

某些非法用戶跳過登錄頁面直接進(jìn)入管理頁面繼而對信息進(jìn)行非法操作。而使用的自定義的“cookies.asp”來阻止非法用戶直接跳過而必須經(jīng)過登錄頁面登錄正確以后才能進(jìn)行下一步的操作。其代碼如下:

<%

if request.cookies("ershou")("administrator")="" or request.cookies("ershou")("ijob")<>"1" or session("admin_ijob")="" or request.cookies("ershou")("domain")="" then

response.redirect "login.asp"

end if

if Request.ServerVariables("SERVER_NAME")request.cookies("ershou")("domain") then

response.redirect "login.asp"

end if

%>

當(dāng)用戶未通過登錄而直接進(jìn)入其他的頁面時,系統(tǒng)將自動還原到登錄界面login.asp。

3 網(wǎng)站防注入及IP檢測算法的實現(xiàn)

許多網(wǎng)站在程序編寫時,沒有對輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果進(jìn)行分析,從而獲取自己想要知道的信息,這就是所謂的SQL Injection。非法攻擊者使用SQL注入的思路一般是:

1) SQL注入漏洞的判斷,即尋找注入點;

2) 判定后臺數(shù)據(jù)庫類型;

3) 確定XP_CMDSHELL的可執(zhí)行情況。如當(dāng)前的用戶具有數(shù)據(jù)庫設(shè)置的SA權(quán)限且master.dbo.xp_shell擴展存儲過程能夠正確執(zhí)行,則計算機就可以被完全控制也就完成了整個注入過程。

SQL防注入系統(tǒng)利用注入漏洞定義一個新的函數(shù)如下:

Function SafeRequest(ParaName,ParaType)

'--- 傳入?yún)?shù) ---

'ParaName:參數(shù)名稱-字符型

'ParaType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)

Dim ParaValue

ParaValue=Request(ParaName)

If ParaType=1 then

If ParaValue="" or not isNumeric(ParaValue) then

Response.write "參數(shù)" & ParaName & "必須為數(shù)字型!"

Response.end

End if

Else

ParaValue=replace(ParaValue,"'","''")

End if

SafeRequest=ParaValue

End function

所以SQL防注入系統(tǒng)在目前很多系統(tǒng)中都有被使用。在IP檢測的同時系統(tǒng)會自動產(chǎn)生數(shù)據(jù)庫記錄操作IP的詳細(xì)情況,并加入了封鎖/解封控制。錄入數(shù)據(jù)庫如表1所示。

4 網(wǎng)站數(shù)據(jù)庫加密

一個網(wǎng)站數(shù)據(jù)庫的保密性是很值得考慮的問題,在這里提供三種數(shù)據(jù)庫保密方法:

1) 修改數(shù)據(jù)庫的后綴名

修改數(shù)據(jù)庫的后綴名為.asp放在網(wǎng)站的根目錄下,當(dāng)然cnn.asp中的數(shù)據(jù)庫連接代碼也得相應(yīng)的修改:

<%

set rs=server.createobject("adodb.recordset")

set conn=server.createobject("adodb.connection")

DBPath = Server.MapPath("news.asp")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

%>

這樣別人很難找到你的數(shù)據(jù)庫文件,即便找到了除非他知道改后綴名,否則打開也是一堆asp代碼,而不是數(shù)據(jù)庫信息。

2) 利用Access自帶的掩碼來保密,不過這種方法的保密性較差,稍微懂些Access的人便能破解。

3) 利用加密函數(shù),這種方法的保密性最強,它是利用一段asp代碼建立一個加密函數(shù),將需要加密的地方加密后再傳給數(shù)據(jù)庫,下面以具體實例來介紹:

利用MD5來實現(xiàn)對數(shù)據(jù)加密。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù))。

例如,當(dāng)用戶登錄的時候,系統(tǒng)把用戶輸入的密碼計算成md5值,然后再去和保存在文件系統(tǒng)中的md5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。

對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯(lián)后將生成一個128位散列值。

在MD5算法中,首先需要對信息進(jìn)行填充,使其字節(jié)長度對512求余的結(jié)果等于448。因此,信息的字節(jié)長度(Bits Length)將被擴展至N*512+448,即N*64+56個字節(jié)(Bytes),N為一個正整數(shù)。填充的方法如下,在信息的后面填充一個1和無數(shù)個0,直到滿足上面的條件時才停止用0對信息的填充。然后,在在這個結(jié)果后面附加一個以64位二進(jìn)制表示的填充前信息長度。經(jīng)過這兩步的處理,現(xiàn)在的信息字節(jié)長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數(shù)倍。這樣做的原因是為滿足后面處理中對信息長度的要求。

MD5中有四個32位被稱作鏈接變量(Chaining Variable)的整數(shù)參數(shù),他們分別為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。

當(dāng)設(shè)置好這四個鏈接變量后,就開始進(jìn)入算法的四輪循環(huán)運算。循環(huán)的次數(shù)是信息中512位信息分組的數(shù)目。將上面四個鏈接變量復(fù)制到另外四個變量中:A到a,B到b,C到c,D到d。

主循環(huán)有四輪,每輪循環(huán)都很相似。第一輪進(jìn)行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數(shù)運算,然后將所得結(jié)果加上第四個變量,文本的一個子分組和一個常數(shù)。再將所得結(jié)果向右環(huán)移一個不定的數(shù),并加上a、b、c或d中之一。最后用該結(jié)果取代a、b、c或d中之一。

以一下是每次操作中用到的四個非線性函數(shù)(每輪一個)。

F(X,Y,Z) =(X&Y)|((~X)&Z)

G(X,Y,Z) =(X&Z)|(Y&(~Z))

H(X,Y,Z) =X^Y^Z

I(X,Y,Z)=Y^(X|(~Z)) (&是與,|是或,~是非,^是異或)這四個函數(shù)的說明:如果X、Y和Z的對應(yīng)位是獨立和均勻的,那么結(jié)果的每一位也應(yīng)是獨立和均勻的。

5 數(shù)據(jù)備份與恢復(fù)技術(shù)

任何一個安全系統(tǒng)都應(yīng)該包括數(shù)據(jù)庫的備份及恢復(fù)。

5.1 數(shù)據(jù)備份

用代碼來實現(xiàn)數(shù)據(jù)庫的備份,操作界面如圖1所示。

數(shù)據(jù)庫備份具體也由代碼來實現(xiàn):

Sub backupdata()

Dbpath=request.form("Dbpath")

Dbpath=server.mappath("Dbpath")

bkfolder=request.form("bkfolder")

bkdbname=request.form("bkdbname")

Set Fso=server.createobject("scripting.filesystemobject")

第2篇

論文摘要:網(wǎng)絡(luò)上的動態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補,根據(jù)工作經(jīng)驗,就ASP網(wǎng)站設(shè)計常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合ASP動態(tài)網(wǎng)站開發(fā)經(jīng)驗,對ASP程序設(shè)計存在的信息安全隱患進(jìn)行分析,討論了ASP程序常見的安全漏洞,從程序設(shè)計角度對WEB信息安全及防范提供了參考。

1網(wǎng)絡(luò)安全總體狀況分析

2007年1月至6月期間,半年時間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。

從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產(chǎn)。

2用IIS+ASP建網(wǎng)站的安全性分析

微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計角度對WEB信息安全及防范進(jìn)行分析討論。

3SP安全漏洞和防范

3.1程序設(shè)計與腳本信息泄漏隱患

bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。

防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。

inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。

防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。

3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計與驗證不全漏洞

驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗證,從而可以解決這個問題。

登陸驗證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗證是非常必要的。

SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時間都不會發(fā)覺。

SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲過程的參數(shù)。以下列出三種攻擊的形式:

A.用戶登錄:假設(shè)登錄頁面有兩個文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。

B.用戶輸入:假設(shè)網(wǎng)頁中有個搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。

C.參數(shù)傳遞:假設(shè)我們有個網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會怎樣?如果程序員有沒有對系統(tǒng)的出錯提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。

解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:

第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;

第二:在客戶端利用ASP自帶的校驗控件和正則表達(dá)式對用戶輸入進(jìn)行校驗,發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;

第三:為了防止黑客避開客戶端校驗直接進(jìn)入后臺,在后臺程序中利用一個公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時,將黑客IP、動作、日期等信息保存到日志數(shù)據(jù)表中以備核查。

第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。

第五:只給出一種錯誤提示信息,服務(wù)器都只提示HTTP500錯誤。

第六:在IIS中為每個網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執(zhí)行權(quán)限設(shè)為“無”好了。

第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級別的權(quán)限隨隨便便地給。

3.4傳漏洞

諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計時如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。

防文件上傳漏洞

在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。

暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。

數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。

數(shù)據(jù)庫可能被解密

由于Access數(shù)據(jù)庫的加密機制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。

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

非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常規(guī)名字,并把它放在幾個目錄下。

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

使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗證碼技術(shù),暴力破解的難度會大大增強。

使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。

3.5SP木馬

由于ASP它本身是服務(wù)器提供的一項服務(wù)功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。

技巧1:殺毒軟件查殺

一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。

技巧2:FTP客戶端對比

asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?

我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。

技巧3:用BeyondCompare2進(jìn)行對比

滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時候就會作用比較明顯了。

技巧4:利用組件性能找asp木馬

如:思易asp木馬追捕。

大家在查找web空間的asp木馬時,最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。

結(jié)束語

總結(jié)了ASP木馬防范的十大原則供大家參考:

建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。

對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。

asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。

到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。

要盡量保持程序是最新版本。

不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。

為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(hù)時再通過上傳即可。

要時常備份數(shù)據(jù)庫等重要文件。

日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。

一旦發(fā)現(xiàn)被人侵,除非自己能識別出所有木馬文件,否則要刪除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺管理程序的路徑。

做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因為入侵與反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機會。

參考文獻(xiàn)

[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計與WEB信息安全》中國教育信息化2007年21期.

第3篇

2007年1月至6月期間,半年時間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。

從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產(chǎn)。

2用IIS+ASP建網(wǎng)站的安全性分析

微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計角度對WEB信息安全及防范進(jìn)行分析討論。

3SP安全漏洞和防范

3.1程序設(shè)計與腳本信息泄漏隱患

bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。

防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。

inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。

防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。

3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計與驗證不全漏洞

驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗證,從而可以解決這個問題。

登陸驗證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗證是非常必要的。

SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時間都不會發(fā)覺。

SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲過程的參數(shù)。以下列出三種攻擊的形式:

A.用戶登錄:假設(shè)登錄頁面有兩個文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。

B.用戶輸入:假設(shè)網(wǎng)頁中有個搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。

C.參數(shù)傳遞:假設(shè)我們有個網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒牵绻诳蛯⒌刂纷?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會怎樣?如果程序員有沒有對系統(tǒng)的出錯提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。

解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:

第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;

第二:在客戶端利用ASP自帶的校驗控件和正則表達(dá)式對用戶輸入進(jìn)行校驗,發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;

第三:為了防止黑客避開客戶端校驗直接進(jìn)入后臺,在后臺程序中利用一個公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時,將黑客IP、動作、日期等信息保存到日志數(shù)據(jù)表中以備核查。

第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。

第五:只給出一種錯誤提示信息,服務(wù)器都只提示HTTP500錯誤。

第六:在IIS中為每個網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執(zhí)行權(quán)限設(shè)為“無”好了。

第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級別的權(quán)限隨隨便便地給。

3.4傳漏洞

諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計時如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。

防文件上傳漏洞

在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。

暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。

數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。

數(shù)據(jù)庫可能被解密

由于Access數(shù)據(jù)庫的加密機制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。

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

非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常規(guī)名字,并把它放在幾個目錄下。

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

使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗證碼技術(shù),暴力破解的難度會大大增強。

使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。

3.5SP木馬

由于ASP它本身是服務(wù)器提供的一項服務(wù)功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。

技巧1:殺毒軟件查殺

一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。

技巧2:FTP客戶端對比

asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?

我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。

技巧3:用BeyondCompare2進(jìn)行對比

滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時候就會作用比較明顯了。

技巧4:利用組件性能找asp木馬

如:思易asp木馬追捕。

大家在查找web空間的asp木馬時,最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。

結(jié)束語

總結(jié)了ASP木馬防范的十大原則供大家參考:

建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。

對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。

asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。

到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。

要盡量保持程序是最新版本。

不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。

為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(hù)時再通過上傳即可。

要時常備份數(shù)據(jù)庫等重要文件。

日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。

一旦發(fā)現(xiàn)被人侵,除非自己能識別出所有木馬文件,否則要刪除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺管理程序的路徑。

做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因為入侵與反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機會。

參考文獻(xiàn)

[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計與WEB信息安全》中國教育信息化2007年21期.

[2]陳明奇《2007年上半年網(wǎng)絡(luò)安全狀況分析》信息網(wǎng)絡(luò)安全2007年第10期

第4篇

論文摘要:網(wǎng)絡(luò)上的動態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補,根據(jù)工作經(jīng)驗,就ASP網(wǎng)站設(shè)計常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合 ASP 動態(tài)網(wǎng)站開發(fā)經(jīng)驗,對ASP 程序設(shè)計存在的信息安全隱患進(jìn)行分析,討論了ASP 程序常見的安全漏洞,從程序設(shè)計角度對 WEB信息安全及防范提供了參考。

1網(wǎng)絡(luò)安全總體狀況分析

2007年1月至6月期間,半年時間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。

從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產(chǎn)。

2 用IIS+ASP建網(wǎng)站的安全性分析

微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴(yán)峻的安全問題。本文從 ASP 程序設(shè)計角度對 WEB 信息安全及防范進(jìn)行分析討論。

3 SP安全漏洞和防范

3.1 程序設(shè)計與腳本信息泄漏隱患

bak 文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。

防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。

inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。

防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。

3.2 對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入 DLL之中;二是使用微軟的Script Encoder對ASP頁面進(jìn)行加密。

3.3 程序設(shè)計與驗證不全漏洞

驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗證,從而可以解決這個問題。

登陸驗證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的 URL 路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗證是非常必要的。

SQL 注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時間都不會發(fā)覺。

SQL 注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造 SQL 語句或存儲過程的參數(shù)。以下列出三種攻擊的形式:

A.用戶登錄: 假設(shè)登錄頁面有兩個文本框,分別用來供用戶輸入帳號和 密碼,利用執(zhí)行SQL 語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入 'OR 0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的 0=0 總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。

B.用戶輸入:假設(shè)網(wǎng)頁中有個搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入' GO DROP TABLE 用戶表,后果是用戶表被徹底刪除。

C.參數(shù)傳遞: 假設(shè)我們有個網(wǎng)頁鏈接地址是 HTTP://……asp?id=22, 然后 ASP在頁面中利用 Request.QueryString['id']取得該 id值,構(gòu)成某 SQL 語句, 這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22 and user=0 ,結(jié)果會怎樣?如果程序員有沒有對系統(tǒng)的出錯提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。

解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql 語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:

第一: 在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;

第二: 在客戶端利用 ASP 自帶的校驗控件和正則表達(dá)式對用戶輸入進(jìn)行校驗,發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;

第三: 為了防止黑客避開客戶端校驗直接進(jìn)入后臺,在后臺程序中利用一個公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時,將黑客IP、動作、日期等信息保存到日志數(shù)據(jù)表中以備核查。

第四: 對于參數(shù)的情況,頁面利用 QueryString 或者 Quest 取得參數(shù)后, 要對每個參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符, 要利用 replace 函數(shù)將異常字符過濾掉,然后再做下一步操作。

轉(zhuǎn)貼于

第五:只給出一種錯誤提示信息,服務(wù)器都只提示HTTP 500錯誤。

第六:在IIS中為每個網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執(zhí)行權(quán)限設(shè)為“無”好了。

第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級別的權(quán)限隨隨便便地給。

3.4 傳漏洞

諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計時如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。

防文件上傳漏洞

在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。

暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。

數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。

數(shù)據(jù)庫可能被解密

由于Access數(shù)據(jù)庫的加密機制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。

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

非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常規(guī)名字,并把它放在幾個目錄下。

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

使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗證碼技術(shù),暴力破解的難度會大大增強。

使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。

3.5 SP木馬

由于ASP它本身是服務(wù)器提供的一項服務(wù)功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。

技巧1:殺毒軟件查殺

一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。

技巧2:FTP客戶端對比

asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?

我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。

技巧3:用Beyond Compare 2進(jìn)行對比

滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。 Beyond Compare 2這時候就會作用比較明顯了。

技巧4:利用組件性能找asp木馬

如:思易asp木馬追捕。

大家在查找web空間的asp木馬時,最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。

結(jié)束語

總結(jié)了ASP木馬防范的十大原則供大家參考:

建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。

對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。

asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。

到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。

要盡量保持程序是最新版本。

不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。

為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(hù)時再通過上傳即可。

要時常備份數(shù)據(jù)庫等重要文件。

日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。

一旦發(fā)現(xiàn)被人侵,除非自己能識別出所有木馬文件,否則要刪除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺管理程序的路徑。

做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因為入侵與反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機會。

參考文獻(xiàn)

[1]袁志芳 田曉芳 李桂寶《ASP程序設(shè)計與 WEB信息安全》 中國教育信息化2007年21期.

第5篇

論文摘要:網(wǎng)絡(luò)上的動態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補,根據(jù)工作經(jīng)驗,就ASP網(wǎng)站設(shè)計常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合ASP動態(tài)網(wǎng)站開發(fā)經(jīng)驗,對ASP程序設(shè)計存在的信息安全隱患進(jìn)行分析,討論了ASP程序常見的安全漏洞,從程序設(shè)計角度對WEB信息安全及防范提供了參考。

1網(wǎng)絡(luò)安全總體狀況分析

2007年1月至6月期間,半年時間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。

從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產(chǎn)。

2用IIS+ASP建網(wǎng)站的安全性分析

微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計角度對WEB信息安全及防范進(jìn)行分析討論。

3SP安全漏洞和防范

3.1程序設(shè)計與腳本信息泄漏隱患

bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。

防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。

inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。

防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。

3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計與驗證不全漏洞

驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗證,從而可以解決這個問題。

登陸驗證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗證是非常必要的。

SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時間都不會發(fā)覺。

SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲過程的參數(shù)。以下列出三種攻擊的形式:

A.用戶登錄:假設(shè)登錄頁面有兩個文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。

B.用戶輸入:假設(shè)網(wǎng)頁中有個搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。

C.參數(shù)傳遞:假設(shè)我們有個網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會怎樣?如果程序員有沒有對系統(tǒng)的出錯提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。

解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:

第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;

第二:在客戶端利用ASP自帶的校驗控件和正則表達(dá)式對用戶輸入進(jìn)行校驗,發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;

第三:為了防止黑客避開客戶端校驗直接進(jìn)入后臺,在后臺程序中利用一個公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時,將黑客IP、動作、日期等信息保存到日志數(shù)據(jù)表中以備核查。

第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。

第五:只給出一種錯誤提示信息,服務(wù)器都只提示HTTP500錯誤。

第六:在IIS中為每個網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執(zhí)行權(quán)限設(shè)為“無”好了。

第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級別的權(quán)限隨隨便便地給。

3.4傳漏洞

諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計時如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。

防文件上傳漏洞

在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。

暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。

數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。

數(shù)據(jù)庫可能被解密

由于Access數(shù)據(jù)庫的加密機制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。

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

非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常規(guī)名字,并把它放在幾個目錄下。

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

使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗證碼技術(shù),暴力破解的難度會大大增強。

使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。

3.5SP木馬

由于ASP它本身是服務(wù)器提供的一項服務(wù)功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。

技巧1:殺毒軟件查殺

一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。

技巧2:FTP客戶端對比

asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?

我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。

技巧3:用BeyondCompare2進(jìn)行對比

滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時候就會作用比較明顯了。

技巧4:利用組件性能找asp木馬

如:思易asp木馬追捕。

大家在查找web空間的asp木馬時,最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。

結(jié)束語

總結(jié)了ASP木馬防范的十大原則供大家參考:

建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。

對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。

asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。

到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。

要盡量保持程序是最新版本。

不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。

為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(hù)時再通過上傳即可。

要時常備份數(shù)據(jù)庫等重要文件。

日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。

一旦發(fā)現(xiàn)被人侵,除非自己能識別出所有木馬文件,否則要刪除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺管理程序的路徑。

做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因為入侵與反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機會。

參考文獻(xiàn)

[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計與WEB信息安全》中國教育信息化2007年21期.

第6篇

2007年1月至6月期間,半年時間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。

從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財產(chǎn)。

2用IIS+ASP建網(wǎng)站的安全性分析

微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時,也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計角度對WEB信息安全及防范進(jìn)行分析討論。

3SP安全漏洞和防范

3.1程序設(shè)計與腳本信息泄漏隱患

bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載,這樣源程序就會被下載。

防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。

inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。

防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。

3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計與驗證不全漏洞

驗證碼。普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗證,從而可以解決這個問題。

登陸驗證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗證是非常必要的。

SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時間都不會發(fā)覺。

SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲過程的參數(shù)。以下列出三種攻擊的形式:

A.用戶登錄:假設(shè)登錄頁面有兩個文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。

B.用戶輸入:假設(shè)網(wǎng)頁中有個搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPbr用戶表,后果是用戶表被徹底刪除。

C.參數(shù)傳遞:假設(shè)我們有個網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見。可是,如果黑客將地址變?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會怎樣?如果程序員有沒有對系統(tǒng)的出錯提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。

解決方法:以上幾個例子只是為了起到拋磚引玉的作用,其實,黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實際中是按以下方法做的:

第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;

第二:在客戶端利用ASP自帶的校驗控件和正則表達(dá)式對用戶輸入進(jìn)行校驗,發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;

第三:為了防止黑客避開客戶端校驗直接進(jìn)入后臺,在后臺程序中利用一個公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時,將黑客IP、動作、日期等信息保存到日志數(shù)據(jù)表中以備核查。

第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。

第五:只給出一種錯誤提示信息,服務(wù)器都只提示HTTP500錯誤。

第六:在IIS中為每個網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺管理中心上傳的文件存放的目錄,就更吝嗇一點吧,執(zhí)行權(quán)限設(shè)為“無”好了。

第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級別的權(quán)限隨隨便便地給。

3.4傳漏洞

諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計時如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。

防文件上傳漏洞

在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。

暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。

數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。

數(shù)據(jù)庫可能被解密

由于Access數(shù)據(jù)庫的加密機制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。

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

非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常規(guī)名字,并把它放在幾個目錄下。

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

使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗證碼技術(shù),暴力破解的難度會大大增強。

使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。

3.5SP木馬

由于ASP它本身是服務(wù)器提供的一項服務(wù)功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。

技巧1:殺毒軟件查殺

一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。

技巧2:FTP客戶端對比

asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?

我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。

技巧3:用BeyondCompare2進(jìn)行對比

滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時候就會作用比較明顯了。

技巧4:利用組件性能找asp木馬

如:思易asp木馬追捕。

大家在查找web空間的asp木馬時,最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。

結(jié)束語

總結(jié)了ASP木馬防范的十大原則供大家參考:

建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。

對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。

asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。

到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。

要盡量保持程序是最新版本。

不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。

為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(hù)時再通過上傳即可。

要時常備份數(shù)據(jù)庫等重要文件。

日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。

第7篇

【關(guān)鍵詞】網(wǎng)站群;信息安全;云計算;設(shè)計

2011年底,中國互聯(lián)網(wǎng)信息中心數(shù)據(jù),我國網(wǎng)民數(shù)量首次突破5億人,網(wǎng)站數(shù)量達(dá)到了230萬個,而在2012年上半年,來自中國互聯(lián)網(wǎng)信息中心的數(shù)據(jù)顯示,我國移動互聯(lián)網(wǎng)的網(wǎng)民數(shù)量首次超過基于PC互聯(lián)網(wǎng)人數(shù),這說明移動互聯(lián)網(wǎng)已成為未來互聯(lián)網(wǎng)發(fā)展的趨勢,而移動互聯(lián)網(wǎng)和云計算的親和性更加完美,在此背景下,云計算能夠給政府網(wǎng)站群在管理和運營方面提供了一個新的技術(shù)平臺,本文通過某政府單位典型的網(wǎng)站群建設(shè)案例來進(jìn)行具體的分析,來探索云計算在網(wǎng)站群架構(gòu)和安全性方面的設(shè)計。

1.云計算技術(shù)在網(wǎng)站群架構(gòu)設(shè)計和安全性方面的實現(xiàn)

1.1 針對云計算在網(wǎng)站群架構(gòu)設(shè)計方面的可行性研究

云計算技術(shù)在商業(yè)網(wǎng)站以及企業(yè)網(wǎng)站群的建設(shè)上已經(jīng)得到了普遍的應(yīng)用,這說明政府機構(gòu)網(wǎng)站群的云計算架構(gòu)也是可以實現(xiàn)的,但是在云計算架構(gòu)下的應(yīng)用安全性問題,云計算的表現(xiàn)如何,因此對這一點的探討還需要通過后續(xù)的實施進(jìn)行研究,當(dāng)然目前的私有云和公有云的不同屬性也有助于解決云計算的應(yīng)用安全隱患。

1.2 設(shè)立云計算的網(wǎng)站群架構(gòu)的實驗平臺

1.2.1 實現(xiàn)云計算架構(gòu)的軟硬件資源

本實驗的平臺采用了8臺刀片服務(wù)器以及基于raid6.0磁盤陣列。系統(tǒng)軟件采用了LINUX以及中間組件和DBMS面向?qū)ο髷?shù)據(jù)庫。應(yīng)用軟件模塊則使用了專業(yè)的網(wǎng)站群管理和應(yīng)用軟件。

1.2.2 實驗平臺的體系架構(gòu)

在本課題研究的體系架構(gòu)中,首先要集成研究的基本資源,然后在8臺刀片機服務(wù)器上安裝相應(yīng)的系統(tǒng)軟件和磁盤陣列,安裝虛擬服務(wù)器操作系統(tǒng),以及云計算資源管理系統(tǒng)等,從而形成IaaS云計算環(huán)境。這是就建立了基本的云計算服務(wù)平臺。接著就需要在IaaS環(huán)境下進(jìn)一步布置PaaS環(huán)境,也就是說要在IaaS上布置支持網(wǎng)站群的基礎(chǔ)軟件。在完成PaaS環(huán)境的部署之后,在安裝網(wǎng)站群管理和建設(shè)的應(yīng)用軟件,進(jìn)而形成SaaS環(huán)境,此時就完成了本課題研究的體系架構(gòu)建設(shè),具體如圖1所示。

1.2.3 易擴展性設(shè)計

在網(wǎng)站群設(shè)計階段就需要充分的考慮今后的易擴展性,在本課題的實驗平添環(huán)境中需要布置幾套能夠支持網(wǎng)站群管理的應(yīng)用軟件,在每套系統(tǒng)中有助于建設(shè)自由子站群,并通過一個主管理軟件統(tǒng)一管理不同子站群,實現(xiàn)子站群的獨立性和共享性,同時還能夠根據(jù)應(yīng)用的需求隨時可以擴大站群。具體如圖2所示。

1.3 安全性設(shè)計分析

根據(jù)圖3所示,在這個云計算平臺上劃分出了2個獨立的安全域,這是云計算解決網(wǎng)站群的核心。這兩個安全域一個放在互聯(lián)網(wǎng)中,也就是所謂的公有云。這部分是為了實現(xiàn)站群子站的所有瀏覽服務(wù)。另一個安全域就是在管理服務(wù)器的局域網(wǎng)中,因此又叫做私有云。主要的作用就是給網(wǎng)站群的內(nèi)容作管理。在資源管理和服務(wù)平臺中,跨域管理的核心就是通過IP地址映射。

圖3中的云計算資源管理平臺一共有4個子域,虛擬機組成的子域是專門網(wǎng)站群的信息,其作用是面向互聯(lián)網(wǎng)提供內(nèi)容瀏覽服務(wù),這就是為什么這個域被稱為公有云的原因。而其他3個子域則分別對信息以及數(shù)據(jù)庫盡心管理,形成私有云,而公有云和私有云之間并沒有被截斷,而是通過VPN虛擬局域網(wǎng)通道實現(xiàn)數(shù)據(jù)共享,這種方式能夠更好的確保信息的安全傳遞。

1.4 云計算在網(wǎng)站群架構(gòu)設(shè)計和安全性設(shè)計的實驗分析

1.4.1 能夠提升站群的易擴展性

在站群建設(shè)上是一個動態(tài)的過程,相對于傳統(tǒng)的站群建設(shè)中,都是需要經(jīng)過獨立的服務(wù)器和獨立的空間,需要獨立的服務(wù)器進(jìn)行管理,所以一旦增加新的網(wǎng)站進(jìn)入站群,那么需要做的工作就很多,而且非常繁瑣,這不利于網(wǎng)站集群的擴展。但是在云計算技術(shù)下,因為采用了網(wǎng)站群應(yīng)用軟件進(jìn)行集中管理,網(wǎng)站內(nèi)容都是集中在數(shù)據(jù)庫中,新建的網(wǎng)站內(nèi)容只需要在數(shù)據(jù)庫中調(diào)去,就能夠產(chǎn)生一個功能非常豐富的網(wǎng)站,而且還提供了網(wǎng)站外掛功能模塊的接口,有助于系統(tǒng)的增強。

1.4.2 網(wǎng)站群的子群和網(wǎng)站安全性更高

在云計算中采用了公有云和私有云結(jié)合的方式來實現(xiàn)對網(wǎng)站群的管理,與此同時還在服務(wù)器上安裝了監(jiān)控軟件,能夠?qū)W(wǎng)站站群的屬性進(jìn)行即時監(jiān)控,比如網(wǎng)站的訪問量和訪問者等參數(shù)的監(jiān)控,并且這些參數(shù)還能夠通過前臺功能的設(shè)置,幫助管理者來監(jiān)控和管理站群,防范非法入侵,提升網(wǎng)站的安全性。

1.4.3 實驗平臺資源分析

該站群服務(wù)器總共有30臺4核服務(wù)器,類型分別是22臺機架式服務(wù)器和8臺刀片式服務(wù)器。在本實驗研究中采用的服務(wù)器是8臺刀片式服務(wù)器。按照非云計算技術(shù)組件站群服務(wù),那么這8臺刀片式服務(wù)器就僅僅能夠完成8中虛擬服務(wù),但是在云計算環(huán)境下,就能夠分配48個虛擬服務(wù),在實驗研究中,實際上分配的虛擬機是30臺,分別布置在公有云和私有云的云計算管理平臺中。在實驗研究中,有3個子域采用了私有云的安全設(shè)置,并支持3個子站群的網(wǎng)站建設(shè),通過將云計算下的服務(wù)器使用數(shù)量和非云計算服務(wù)器使用數(shù)量進(jìn)行對比分析,能夠降低達(dá)到一半的水平,而且在站群的安全性方面,云計算的私有云和公有云的共同作用要比非云計算環(huán)境下安全要高得多。在能耗上,云計算的能耗要比非云計算的能耗同樣也要低一半。

1.5 云計算實驗平臺設(shè)計和實踐的關(guān)鍵

1.5.1 對私有云和公有云的應(yīng)用范圍要嚴(yán)格區(qū)分

在云計算平臺架構(gòu)中主要有兩個層次,一個是信息處理層,另一個是信息展示層。一般而言,云計算體系架構(gòu)中,信息展示層需要布置在公有云中,而信息處理層則需要布置在私有云中,這兩者之間需要通過VPN建立虛擬通道,這樣有助于提升網(wǎng)站群的安全。

1.5.2 注重熟能生巧

目前云計算的應(yīng)用還處于方興未艾階段,有很多的應(yīng)用還存在摸索和研究階段,因此作為新興的應(yīng)用應(yīng)該將云計算技術(shù)的應(yīng)用放在容易突破的地方,其中從容易了解和熟知的領(lǐng)域進(jìn)行創(chuàng)新,就能夠很好的實現(xiàn)對技術(shù)的創(chuàng)新,云計算在存貯和網(wǎng)站管理方面的應(yīng)用相對已經(jīng)成熟,本研究課題的實驗實際上也就是在這種熟悉的基礎(chǔ)上實現(xiàn)的創(chuàng)新。

2.云計算在玩站群架構(gòu)和安全性設(shè)計實驗帶來的意義

通過對實驗平臺的研究,云計算技術(shù)的核心就在于虛擬化,通過將4個服務(wù)模塊的虛擬化,分別布置成私有云和公有云,同時在數(shù)據(jù)存貯方面,同樣也使用到了虛擬化的技術(shù),這些對數(shù)據(jù)存貯安全性和易管理性都具有十分重要的作用。在這里特別要提到的就是云計算技術(shù)有效的解決了無邊界的安全防護(hù)問題,因為在云計算環(huán)境下,一切都是虛擬的,這對于安全防護(hù)來說,就出現(xiàn)了沒有邊界的尷尬,無法實現(xiàn)邏輯上的劃分隔離。如果仿照物理服務(wù)器進(jìn)行安全防護(hù),那顯然有悖于虛擬化的應(yīng)用。不過隨著私有云和公有云的出現(xiàn)則很好的解決了這個瓶頸,將每個子站群布置在一個私有云中,而這個私有云實際上就是一個邏輯邊界,因此在私有云中可以實現(xiàn)安全防護(hù)。同理公有云同樣也是一種邏輯安全邊界,可以提升安全防護(hù),而且私有云和公有云之間還可以通過VPN實現(xiàn)信息共享,從而既保證了數(shù)據(jù)的安全有保證了數(shù)據(jù)的溝通。

3.總結(jié)

云計算的應(yīng)用非常廣泛,雖然在云存貯的應(yīng)用上以及云系統(tǒng)的使用上都已經(jīng)相當(dāng)成熟,但是在站群架構(gòu)上的使用還處于實驗階段,因為站群的應(yīng)用需要滿足易擴展、安全性、穩(wěn)定性、易管理性等諸多要求,對于云計算這個新技術(shù)能否勝任還存在著一定的疑問,但是隨著云計算的進(jìn)一步成熟,有關(guān)云計算的管理軟件的豐富,基于云計算的網(wǎng)站群架構(gòu)和安全性都是完全有保障的!

參考文獻(xiàn)