关于asp木马Webshell权限的解决方案
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
1、首先我们了解一下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.... %>
开始------->运行--------->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显示进程处将为空白。
该文章在 2023/9/26 15:12:43 编辑过 |
关键字查询
相关文章
正在查询... |