添加時(shí)間:2012/8/17 10:09:09 編輯:奇億網(wǎng)站建設(shè)公司
ASP具有簡單、易用、多功能,可擴(kuò)充性等強(qiáng)大功能,但也存在一些問題。譬如,如果使用ASP的話,可能會(huì)導(dǎo)致網(wǎng)絡(luò)的安全性大大降低了!下面為大家舉一個(gè)例子,請按照下面的步驟:
(1)從http://home.gbsource.net/xuankong/dll.zip下載這個(gè)文件,解壓縮后把其中的test.dll文件拷貝到c:\windows\system(如果你使用的是NT的話,請拷貝到相應(yīng)的目錄中);
(2)接下來打開"開始/運(yùn)行"菜單輸入"regsvr32 test.dll"命令;
(3)拷貝解壓后的文件包中的那個(gè)index.asp到你的服務(wù)器目錄(如果你使用的是PWS調(diào)試可以拷貝到"c:\inetpub\wwwroot",NT請拷貝到相應(yīng)的目錄);
(4)換一臺(tái)機(jī)器用IE瀏覽index.asp文件看一看(你看到的是出錯(cuò)代碼,但是實(shí)際上程序已經(jīng)運(yùn)行了),你再返回你的機(jī)器看一看c:\下面是不是多了一個(gè)文件?一個(gè)名為xuankong.dat的文件(其實(shí)如果我愿意,你的c:\autoexec.bat文件頁可以被我打開并寫進(jìn)去一些像"format c:/q/u"等命令,那么等你下次重新啟動(dòng)的時(shí)候,結(jié)果就不言自明了)。
ASP頁面的安全問題是如何產(chǎn)生的?
下面我們來看一下到底是怎么回事,你剛才拷貝的那些dll文件其實(shí)是我使用Visul Basic5開發(fā)的一個(gè)主件,這個(gè)文件是通過以下步驟產(chǎn)生的:
(1)打開VB5新建一個(gè)"ActiveX.dll"文件,吧下面的代碼輸入進(jìn)去:
Private Declare Function ExitWindowsEx Lib "user32"_(ByVal uFlags As Long,ByVal dwReserved As Long)_As LongSub Xuankong ( ) "請不要加上"private"a$ = InputBox ("請輸入你的姓名,如果你輸入的是"xuankong""+Chr(13)+Chr(10)+"則會(huì)在你的系統(tǒng)中生成一個(gè)"xuankong"文件"+Chr(10)+Chr(13)+"否則你的機(jī)器可能會(huì)重起","請輸入","xuankong")If a$ = "xuankong" ThenOpen "c:\xuankong.dat" For Append As #Write#1,"我的朋友,這是一個(gè)asp主件測試程序"#Write#1,"hello world!this is a test"#Write#1,"如果你看到這個(gè)文件測試就成功!"elseExitWindowsEx&H43,0使用API函數(shù)重新啟動(dòng)機(jī)器End ifClose #1End sub
(2)把工程名改為dll,類模塊改為test,然后把這個(gè)工程生成dll文件到c:\windows\system目錄下面。
(3)新建一個(gè)index.asp文件下面的代碼輸入進(jìn)去:
(4)拷貝index.asp到你的服務(wù)器內(nèi),按照上面的方法調(diào)試!
總結(jié):
上面所說的是ASP主件的安全問題!另外如果有些作者再寫ASP主件的時(shí)候不小心留下系統(tǒng)bug!那就更加不容易發(fā)現(xiàn)了!也可能會(huì)帶來意想不到的問題。