注意:本文所講述之設置方法與環境:適用於Microsoft Windows 2000 Server/Win2003 SERVER IIS5.0/IIS6.0
1、首先我們來看看一般ASP***、Webshell所利用的ASP組件有那些?我們以海洋***爲列:
shellStr="Shell"
applicationStr="Application"
if cmdPath="wscriptShell"
set sa=server.createObject(shellStr&"."&applicationStr)
set streamT=server.createObject("adodb.stream")
set domainObject = GetObject("WinNT://.")
以上是海洋中的相關代碼,從上面的代碼我們不難看出一般ASP***、Webshell主要利用了以下幾類ASP組件:
① WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)
② WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)
③ WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)
④ WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)
⑤ FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)
⑥ Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})
⑦ Shell.applicaiton....
hehe,這下我們清楚了危害我們WEB SERVER IIS的最罪魁禍首是誰了!!開始操刀,come on...
2:解決辦法:
① 刪除或更名以下危險的ASP組件:
WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application
開始------->運行--------->Regedit,打開註冊表編輯器,按Ctrl+F查找,依次輸入以上Wscript.Shell等組件名稱以及相應的ClassID,然後進行刪除或者更改名稱(這裏建議大家更名,如果有部分網頁ASP程序利用了上面的組件的話呢,只需在將寫ASP代碼的時候用我們更改後的組件名稱即可正常使用。當然如果你確信你的ASP程序中沒有用到以上組件,還是直接刪除心中踏實一些^_^,按常規一般來說是不會做到以上這些組件的。刪除或更名後,iisreset重啓IIS後即可升效。)
[注意:由於Adodb.Stream這個組件有很多網頁中將用到,所以如果你的服務器是開虛擬主機的話,建議酢情處理。]
② 關於 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常說的FSO的安全問題,如果您的服務器必需要用到FSO的話,(部分虛擬主機服務器一般需開FSO功能)可以參照本人的另一篇關於FSO安全解決辦法的文章:Microsoft Windows 2000 Server FSO 安全隱患解決辦法。如果您確信不要用到的話,可以直接反註冊此組件即可。
③ 直接反註冊、卸載這些危險組件的方法:(實用於不想用①及②類此類煩瑣的方法)
卸載wscript.shell對象,在cmd下或直接運行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸載FSO對象,在cmd下或直接運行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸載stream對象,在cmd下或直接運行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢復的話只需要去掉 /U 即可重新再註冊以上相關ASP組件例如:regsvr32.exe %windir%\system32\scrrun.dll
④ 關於Webshell中利用set domainObject = GetObject("WinNT://.")來獲取服務器的進程、服務以及用戶等信息的防範,大家可以將服務中的Workstation[提供網絡鏈結和通訊]即Lanmanworkstation服務停止並禁用即可。此處理後,Webshell顯示進程處將爲空白。
3 按照上1、2方法對ASP類危險組件進行處理後,用阿江的asp探針測試了一下,“服務器CPU詳情”和“服務器操作系統”根本查不到,內容爲空白的。再用海洋測試Wsript.Shell來運行cmd命令也是提示Active無法創建對像。大家就都可以再也不要爲ASP***危害到服務器系統的安全而擔擾了。
當然服務器安全遠遠不至這些,這裏爲大家介紹的僅僅是本人在處理ASP***、Webshell上的一些心得體會。在下一篇中將爲大家介紹如何簡簡單單的防止別人在服務器上執行如net user之類的命令,防溢出類***得到cmdshell,以及執行添加用戶、改NTFS設置權限到終端登錄等等的最簡單有效的防範方法。
ASP***Webshell的安全防範解決辦法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
******思路
lichenjing9
2019-02-23 14:06:52
ssl *** 應用場景
qyh282110204
2019-02-23 14:05:36
凱文《欺騙的藝術》中文版
雪花飄飄
2019-02-23 14:03:53
我是菜鳥…
love_qq0612
2019-02-23 13:53:45
PacketiX.NET ***使用教程
雨的印記
2019-02-23 13:49:40
ASP、JSP、PHP 三種技術比較
lichenjing9
2019-02-23 14:06:52
asp.net 生成圖片驗證碼
138web
2019-02-23 13:59:15
Microsoft Jet 數據庫引擎打不開文件'(未知的)'。 它已經被別的用戶以獨佔方式打開
野馬軍團
2019-02-23 13:58:27
“[Miscrosoft][ODBC驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序”
野馬軍團
2019-02-23 13:58:27
2007年100款最佳安全工具譜
lichenjing9
2019-02-23 14:06:52
比較安全的rm腳本(附上源碼及用法)
death_c
2019-02-23 13:50:13