ASP漏洞區(qū)分與處理方法(1)
發(fā)表時(shí)間:2024-06-14 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]有人說一臺(tái)不和外面聯(lián)系的電腦是最安全的電腦,一個(gè)關(guān)閉所有端口,不提供任何服務(wù)的電腦也是最安全的。黑客經(jīng)常利用我 們所開放的端口實(shí)施攻擊,這些攻擊最常見的是DDOS(拒絕服務(wù)攻擊).下面我會(huì)列出ASP的二十幾個(gè)漏洞,每個(gè)漏洞都會(huì)有漏洞描 述和解決方法。 1 在ASP程序后加個(gè)特殊符號(hào),能看到ASP源...
有人說一臺(tái)不和外面聯(lián)系的電腦是最安全的電腦,一個(gè)關(guān)閉所有端口,不提供任何服務(wù)的電腦也是最安全的。黑客經(jīng)常利用我
們所開放的端口實(shí)施攻擊,這些攻擊最常見的是DDOS(拒絕服務(wù)攻擊).下面我會(huì)列出ASP的二十幾個(gè)漏洞,每個(gè)漏洞都會(huì)有漏洞描
述和解決方法。
1 在ASP程序后加個(gè)特殊符號(hào),能看到ASP源程序
受影響的版本:
win95+pws
IIS3.0
98+pws4 不存在這個(gè)漏洞。
IIS4.0以上的版本也不存在這個(gè)漏洞。
問題描述:
這些特殊符號(hào)包括小數(shù)點(diǎn),%81, ::$DATA。比如:
http://someurl/somepage.asp.
http:// someurl/somepage.asp%81
http:// someurl/somepage.asp::$DATA
http:// someurl/somepage.asp %2e
http:// someurl/somepage %2e%41sp
http:// someurl/somepage%2e%asp
http:// someurl/somepage.asp %2e
http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini (可以
看到boot.ini的文件內(nèi)容)
那么在安裝有IIS3.0和win95+PWS的瀏覽中就很容易看到somepage.asp的源程序。究竟是什么原因造成了這種可怕的漏洞呢?
究其根源其實(shí)是 Windows NT 特有的文件系統(tǒng)在做怪。有一點(diǎn)常識(shí)的人都知道在 NT 提供了一種完全不同于 FAT 的文件系統(tǒng):
NTFS,這種被稱之為新技術(shù)文件系統(tǒng)的技術(shù)使得 NT 具有了較高的安全機(jī)制,但也正是因?yàn)樗a(chǎn)生了不少令人頭痛的隱患。大家
可能不知道, NTFS 支持包含在一個(gè)文件中 的多數(shù)據(jù)流,而這個(gè)包含了所有內(nèi)容的主數(shù)據(jù)流被稱之為"DATA",因此使得在瀏覽器
里直接訪問 NTFS 系統(tǒng)的這個(gè)特性而輕易的捕獲在文件中的腳本程序成為了可能。然而 直接導(dǎo)致 ::$DATA 的原因是由于 IIS 在
解析文件名的時(shí)候出了問題,它沒有很好地規(guī)范文件名。
解決方法和建議:
如果是Winodws NT用戶,安裝IIS4.0或者IIS5.0,Windows2000不存在這個(gè)問題。如果是win95用戶,安裝WIN98和PWS4.0。
2 ACCESS mdb 數(shù)據(jù)庫有可能被下載的漏洞
問題描述:
在用ACCESS做后臺(tái)數(shù)據(jù)庫時(shí),如果有人通過各種方法知道或者猜到了服務(wù)器的ACCESS數(shù)據(jù)庫的路徑和數(shù)據(jù)庫名稱,那么他能夠
下載這個(gè)ACCESS數(shù)據(jù)庫文件,這是非常危險(xiǎn)的。比如:如果你的ACCESS數(shù)據(jù)庫book.mdb放在虛擬目錄下的database目錄下,那么
有人在瀏覽器中打入:
http:// someurl/database/book.mdb
如果你的book.mdb數(shù)據(jù)庫沒有事先加密的話,那book.mdb中所有重要的數(shù)據(jù)都掌握在別人的手中。
解決方法:
(1) 為你的數(shù)據(jù)庫文件名稱起個(gè)復(fù)雜的非常規(guī)的名字,并把他放在幾目
錄下。所謂"非常規(guī)",打個(gè)比方:比如有個(gè)數(shù)據(jù)庫要保存的是有關(guān)書籍的信息,可不要把他起個(gè)"book.mdb"的名字,起個(gè)怪怪的名
稱,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的幾層目錄下,這樣黑客要想通過猜的方式得到你的ACCESS數(shù)據(jù)庫
文件就難上加難了
。
(2)不要把數(shù)據(jù)庫名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath = Server.MapPath("cmddb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
假如萬一給人拿到了源程序,你的ACCESS數(shù)據(jù)庫的名字就一覽無余。因此建議你在ODBC里設(shè)置數(shù)據(jù)源,再在程序中這樣寫:
conn.open "shujiyuan"
(3)使用ACCESS來為數(shù)據(jù)庫文件編碼及加密。首先在選取"工具->安
全->加密/解密數(shù)據(jù)庫,選取數(shù)據(jù)庫(如:employer.mdb),然后接確定,接著會(huì)出現(xiàn)"數(shù)據(jù)庫加密后另存為"的窗口,存為:
employer1.mdb。接著employer.mdb就會(huì)被編碼,然后存為employer1.mdb..
要注意的是,以上的動(dòng)作并不是對(duì)數(shù)據(jù)庫設(shè)置密碼,而只是對(duì)數(shù)據(jù)庫文件加以編碼,目的是為了防止他人使用別的工具來查看
數(shù)據(jù)庫文件的內(nèi)容。
接下來我們?yōu)閿?shù)據(jù)庫加密,首先以打開經(jīng)過編碼了的employer1.mdb,在打開時(shí),選擇"獨(dú)占"方式。然后選取功能表的"工具-
>安全->設(shè)置數(shù)據(jù)庫密碼",接著輸入密碼即可。
為employer1.mdb設(shè)置密碼之后,接下來如果再使用ACCEES數(shù)據(jù)庫文件時(shí),則ACCESS會(huì)先要求輸入密碼,驗(yàn)證正確后才能夠啟
動(dòng)數(shù)據(jù)庫。
不過要在ASP程序中的connection對(duì)象的open方法中增加PWD的參數(shù)即可,例如:
param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"
param=param&";dbq="&server.mappath("employer1.mdb")
conn.open param
這樣即使他人得到了employer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。
(出處:熱點(diǎn)網(wǎng)絡(luò))