給你的FileSystemObject對象加把鎖-ASP漏洞集
來源:互聯網
上載者:User
filesystemobject|對象 現在國內提供支援ASP的免費空間越來越多了,對於ASP愛好者來說無疑是個好的勢頭,但是很多提供免費ASP空間的網站都沒有對FileSystemObject這個對
象做出任何限制,這也就導致了安全問題。比如,今年愚人節“東莞視窗”所有的首頁都遭到了駭客的攻擊,其實做這件事情很簡單,就是使用FileSystemObject對象,
具體的程式就不再討論了。而另外一個比較有名的提供ASP空間的網站“網界”同樣也存在這個安全性漏洞,很容易遭到攻擊。不僅僅是這些提供免費空間的網站存在這個
安全性漏洞,很多國內的虛擬機器主機供應商同樣也存在這個安全隱患。這樣給商業使用者帶來的危害就很大了。
那麼我們如何才能限制使用者使用FileSystemObject對象呢?一種極端的做法是完全反註冊掉提供FileSystemObject對象的那個組件,也就是Scrrun.dll。具體的方
法如下:
在MS-DOS狀態下面鍵入:
Regsvr32 /u c:\Windows\system\scrrun.dll
(注意:在實際操作的時候要更改成為你本地的實際路徑)
但是,顯而易見,如果這樣做,那麼包括站台系統管理員在內的任何人都將不可以使用FileSystemObject對象了,這其實並不是網站管理員想要得到的結果,畢竟
我們使用這個對象可以實現方便的線上月台管理,如果連繫統管理員都沒法使用了,那可就得不償失了,但是不禁止這個危險的對象又會給自己的網站帶來安全性漏洞。那麼
有沒有兩全其美的方法呢?有!具體方法如下:
我們可以做到禁止他人非法使用FileSystemObject對象,但是我們自己仍然可以使用這個對象.
方法如下:
尋找註冊表中
HKEY_CLASSES_ROOT\Scripting.FileSystemObject 索引值
將其更改成為你想要的字串(右鍵-->"重新命名"),比如更改成為
HKEY_CLASSES_ROOT\Scripting.FileSystemObject2
這樣,在ASP就必須這樣引用這個對象了:
Set fso = CreateObject("Scripting.FileSystemObject2")
而不能使用:
Set fso = CreateObject("Scripting.FileSystemObject")
如果你使用通常的方法來調用FileSystemObject對象就會無法使用了。
呵呵,只要你不告訴別人這個更改過的對象名稱,其他人是無法使用FileSystemObject對象的。這樣,作為網站管理者我們就杜絕了他人非法使用FileSystemObject
對象,而我們自己仍然可以使用這個對象來方便的實現網站線上管理等等功能了!
(以上方法在Win98+PWS以及WinNT4+IIS4環境下測試通過)