網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 文章簡介:本文將為大家介紹在Microsoft Win系列SERVER (IIS5.0、IIS6.0)中如何簡單快速解決ASP中危險組件對WEB服務器系統的安全威脅之詳細防范設置步驟;讀完本文,您將可以使您的網站服務器免去ASP木馬、Webshell所面對的提升權限、甚至危害到系統安全的威脅。本文作者:李泊林/LeeBolin 資深系統工程師、專業網絡安全顧問。 已成功為國內多家大中型企業,ISP服務商提供了完整的網絡安全解決方案。尤其擅長于整體網絡安全方案的設計、大型網絡工程的策劃、以及提供完整的各種服務器系列安全整體解決方案。 ASP木馬、Webshell之安全防范解決辦法正文內容: 注意:本文所講述之設置方法與環境:適用于Microsoft Windows 2000 Server/Win2003 SERVER | IIS5.0/IIS6.0 1、首先我們來看看一般ASP木馬、Webshell所利用的ASP組件有那些?我們以海洋木馬為列: <object runat="server" id="ws" scope="page" classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"> </object> <object runat="server" id="ws" scope="page" classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"> </object> <object runat="server" id="net" scope="page" classid="clsid:093FF999-1EA0-4079-9525-9614C3504B74"> </object> <object runat="server" id="net" scope="page" classid="clsid:F935DC26-1CF0-11D0-ADB9-00C04FD58A0B"> </object> <object runat="server" id="fso" scope="page" classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"> </object> 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設置權限到終端登錄等等的最簡單有效的防范方法。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!