今天浏览自己的演示系统,奇怪,被挂黑链了,iframe框架链接的一个exe可执行文件,而且时而有,时而没有,有的时候用谷歌浏览器会自动下载并运行。试了服务器的好几个站点都存在这种问题,甚至只有html页面的站也存在这问题。奇怪了,难道apache环境被挂马了?找了下apache,没有第三方模块加载,找了许久也没找到问题。
一个疑点有了思路,看到站点虚拟目录的最新创建时间都是当天,而这几个站点今天不可能同时都在更新,难道所有站点都被挂马了?觉得不太可能,或者服务器被提权了?为何只挂web页面呢。用一份备份的程序替换了,打开网站依旧时而有挂马,时而没有挂马。最新下载一份Thinkphp框架,生成一个项目,依旧有挂马,不可能Thinkphp官网的程序被挂马。然后把虚拟站点文件夹隐藏属性取消了,显示隐藏文件,发现每个站点下都有一个thumbs.db 文件,理论上thumbs.db是缩略图缓冲文件,以为不会出现什么问题,实在找不到其他问题了,于是删掉这个文件后访问站点,果然挂马不在了。确定是thumbs.db文件的问题了。
百度查了下对于thumbs.db的说法有很多。百度讲:http://baike.baidu.com/link?url=9p0lOi4y1lqhluQNaR54KBhiWJhEUDMEcMXvkXkjm6X2FhJXDDL3gU38a04RxCJJNEtwyk_gKdlTGsO0q5WF8K?互动百度讲:http://www.baike.com/wiki/%E7%BC%A9%E7%95%A5%E5%9B%BE%E6%BC%8F%E6%B4%9E?可见此漏洞的危害性极大。是一个WINDOWS图形接口远程执行漏洞,尝试了把这个文件复制出,用360和小红伞等各种web安全软件和服务器软件,都是查不到任何信息。修复服务器漏洞看来真的是非常重要。
之前出现过一次问题,由于忽略了,并未细致检查原因,导致这次多个站点被挂马。解决方案需要配置下文件夹属性,不允许缩略图缓存就好了。同时微软出了漏洞补丁,也打下补丁。回头有时间研究研究这个高级的服务器漏洞。很奇葩的漏洞,中招后,实在难找出问题所在。
补充:微软官网补丁说明有可能提权,如果单纯是这一个文件提不了权,需要通过这个文件进一步交互才可以提权。如服务器已经被挂马,掺改,可以用以下批处理批量删掉并且设置文件夹属性中的缩略图缓存功能打勾。del /S *.db