改名或卸載不安全性群組件不安全性群組件不驚人我的在阿江探針1.9裡加入了不安全性群組件檢測功能(其實這是參考7i24的代碼寫的,只是把介面改的友好了一點,檢測方法和他是基本一樣的),這個功能讓很多站長吃驚不小,因為他發現他的伺服器支援很多不安全性群組件。 其實,只要做好了上面的使用權限設定,那麼FSO、XML、strem都不再是不安全性群組件了,因為他們都沒有跨出自己的檔案夾或者網站的許可權。那個歡樂時光更不用怕,有殺毒軟體在還怕什麼時光啊。 最危險的組件是WSH和Shell,因為它可以運行你硬碟裡的EXE等程式,比如它可以運行提升程式來提升SERV-U許可權甚至用SERVU來運行更高許可權的系統程式。 謹慎決定是否卸載一個組件組件是為了應用而出現的,而不是為了不安全而出現的,所有的組件都有它的用處,所以在卸載一個組件之前,你必須確認這個組件是你的網站程式不需要的,或者即使去掉也不關大體的。否則,你只能留著這個組件並在你的ASP程式本身上下工夫,防止別人進來,而不是防止別人進來後SHELL。 比如,FSO和XML是非常常用的組件之一,很多程式會用到他們。WSH組件會被一部分主機管理程式用到,也有的打包程式也會用到。 卸載最不安全的組件最簡單的辦法是直接卸載後刪除相應的程式檔案。將下面的代碼儲存為一個.BAT檔案,( 以下均以 WIN2000 為例,如果使用2003,則系統檔案夾應該是 C:\WINDOWS\ ) regsvr32/u C:\WINNT\System32\wshom.ocx del C:\WINNT\System32\wshom.ocx regsvr32/u C:\WINNT\system32\shell32.dll del C:\WINNT\system32\shell32.dll 然後運行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了。可能會提示無法刪除檔案,不用管它,重啟一下伺服器,你會發現這三個都提示“×安全”了。 改名不安全性群組件需要注意的是組件的名稱和Clsid都要改,並且要改徹底了。下面以Shell.application為例來介紹方法。 開啟登錄編輯程式【開始→運行→regedit斷行符號】,然後【編輯→尋找→填寫Shell.application→尋找下一個】,用這個方法能找到兩個登錄機碼:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。為了確保萬無一失,把這兩個登錄機碼匯出來,儲存為 .reg 檔案。 比如我們想做這樣的更改 13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001 Shell.application 改名為 Shell.application_ajiang 那麼,就把剛才匯出的.reg檔案裡的內容按上面的對應關係替換掉,然後把修改好的.reg檔案匯入到註冊表中(雙擊即可),匯入了改名後的登錄機碼之後,別忘記了刪除原有的那兩個項目。這裡需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。 下面是我修改後的代碼(兩個檔案我合到一起了): Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}] @="Shell Automation Service"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32] @="C:\\WINNT\\system32\\shell32.dll" "ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID] @="Shell.Application_ajiang.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib] @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version] @="1.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID] @="Shell.Application_ajiang"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang] @="Shell Automation Service"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CLSID] @="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CurVer] @="Shell.Application_ajiang.1" 你可以把這個儲存為一個.reg檔案運行試一下,但是可別就此了事,因為萬一駭客也看了我的這篇文章,他會實驗我改出來的這個名字的。 防止列出使用者組和系統進程我在阿江ASP探針1.9中結合7i24的方法利用getobject("WINNT")獲得了系統使用者和系統進程的列表,這個列表可能會被駭客利用,我們應當隱藏起來,方法是: 【開始→程式→管理工具→服務】,找到Workstation,停止它,禁用它。 |