asp程式設計經驗談:ASP檔案中的安全問題(轉)

subid發表於2007-08-14
asp程式設計經驗談:ASP檔案中的安全問題(轉)[@more@]

  ASP中可能有哪些安全問題?

  ASP具有簡單、易用、多功能,可擴充性等強大功能,但也存在一些問題。譬如,如果使用ASP的話,可能會導致網路的安全性大大降低了!下面為大家舉一個例子,請按照下面的步驟:

  (1)從http://home.gbsource.net/xuankong/dll.zip下載這個檔案,解壓縮後把其中的test.dll檔案複製到c:windowssystem(如果你使用的是NT的話,請複製到相應的目錄中);

  (2)接下來開啟"開始/執行"選單輸入"regsvr32 test.dll"命令;

  (3)複製解壓後的檔案包中的那個index.asp到你的伺服器目錄(如果你使用的是PWS除錯可以複製到"c:inetpubwwwroot",NT請複製到相應的目錄);

  (4)換一臺機器用IE瀏覽index.asp檔案看一看(你看到的是出錯程式碼,但是實際上程式已經執行了),你再返回你的機器看一看c:下面是不是多了一個檔案?一個名為xuankong.dat的檔案(其實如果我願意,你的c:autoexec.bat檔案頁可以被我開啟並寫進去一些像"format c:/q/u"等命令,那麼等你下次重新啟動的時候,結果就不言自明瞭)。

  ASP頁面的安全問題是如何產生的?

  

  下面我們來看一下到底是怎麼回事,你剛才複製的那些dll檔案其實是我使用Visul Basic5開發的一個主件,這個檔案是透過以下步驟產生的:

  (1)開啟VB5新建一個"ActiveX.dll"檔案,吧下面的程式碼輸入進去:

  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)+"則會在你的系統中生成一個"xuankong"檔案"+Chr(10)+Chr(13)+"否則你的機器可能會重起","請輸入","xuankong")If a$ = "xuankong" ThenOpen "c:xuankong.dat" For Append As #Write#1,"我的朋友,這是一個asp主件測試程式"#Write#1,"hello world!this is a test"#Write#1,"如果你看到這個檔案測試就成功!"elseExitWindowsEx&H43,0使用API函式重新啟動機器End ifClose #1End sub

  (2)把工程名改為dll,類模組改為test,然後把這個工程生成dll檔案到c:windowssystem目錄下面。

  (3)新建一個index.asp檔案下面的程式碼輸入進去:

  <html> </html>

  (4)複製index.asp到你的伺服器內,按照上面的方法除錯!

  總結:

  上面所說的是ASP主件的安全問題!另外如果有些作者再寫ASP主件的時候不小心留下系統bug!那就更加不容易發現了!也可能會帶來意想不到的問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-957005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章