很多服务器上都装了PHP后,其Zend组件默认安装后,就算 C:\Program Files\ 设置过权限,Zend 会自动配置目录的权限。如下图:
C:\Program Files\Zend\ZendOptimizer-3.3.0\ 下的目录权限为 Everyone 全权,这导致入侵者通过WEBSHELL能写入文件。
如果黑客入侵一个服务器,只支持 asp,或php,没有执行权限,执行组件也给禁用了,只有读写文件的权限(只要读写权限就够)。
C:\Program Files\Zend\ZendOptimizer-3.3.0\lib 下有 ZendExtensionManager.dll 文件,
而这个文件就算加载了,也能通过"重命名"得以修改。
而黑客只要把这个DLL换成黑客的DLL,将能加载起来!
在测试中发现,如果直接换上DLL,替换的DLL不能被Zend加载!
转换思路,软件应该是加载相关DLL再查看相关接口!
Zend 加载 -> 替换后的dll(文件名用 ZendExtensionManager.dll ) -> 加载原DLL (这是原文件,把他改为名 ZendExtensionManager.dll.log 让自己的加载他)
测试能成功加载!
而用户的DLL可以是一个远控,可以是一个执行的模块,这要看想像空间了。
怎样解决此问题?
----------------------------------------------------------------------------------------
请把 C:\Program Files\Zend\ZendOptimizer-3.3.0\ 下的 Everyone 权限设置为只读运行权限,就可以了!
请各位独立服务器用户都注意设置,加强防范!