我见过太多网站被挂马后,何检站长还浑然不觉地继续更新内容。查网直到某天浏览器弹出红色警告,站中或者搜索引擎标注“该网站可能被黑客入侵”,有没有木才慌了神。马病其实检查木马这件事,何检不需要你是查网安全专家,掌握几个关键动作就能发现大部分问题。站中
先从最直观的有没有木入口开始——浏览器。用Chrome或Firefox打开你的马病网站,按F12进入开发者工具,何检切换到Network(网络)标签页,查网刷新页面。站中盯着那些加载的有没有木请求,如果发现某个JS文件来自陌生域名,马病或者有个看起来像乱码的PHP文件在疯狂请求外部接口,基本可以断定有问题。去年我帮朋友排查一个博客站,就在页面底部发现一个被恶意注入的 ``,那玩意儿藏得极深,不仔细看根本发现不了。
接着查服务器文件。用FTP或者SSH登录你的主机,重点看两个地方:一是网站根目录下的 .htaccess 和 .user.ini 这类配置文件,木马常爱往里面塞跳转代码;二是最近7天内被修改过的文件。在Linux服务器上跑一句 `find /var/www/html -type f -mtime -7` 就能列出清单。我自己遇到过最阴险的情况——攻击者把木马伪装成 `wp-cron.php` 放在WordPress的wp-admin目录里,文件名和正常文件几乎一样,只有对比文件大小才能察觉异常。
数据库也得翻一翻。用phpMyAdmin打开你的数据库,搜索 `eval(` 或者 `base64_decode(` 这两个函数。正常的CMS很少在数据库里存这些,一旦出现,十有八九是SQL注入留下的后门。还有个小技巧,检查一下你的文章表里有没有隐藏的HTML注释,有些木马会藏在 `` 之间,浏览器不渲染,但代码会在后台执行。
说到具体工具,别迷信那些收费的扫描软件。免费方案够用了:先装个Wordfence(如果你用WordPress),它的扫描功能能比对核心文件哈希值,任何改动都逃不过。再配合在线服务如VirusTotal,把可疑文件上传上去,几十个杀毒引擎同时查。我上周刚处理完一个案例,客户网站被植入挖矿脚本,就是靠VirusTotal检测出那个JS文件包含Coinhive代码——虽然这个服务已经关闭了,但类似的挖矿脚本检测工具现在多的是。
最后提醒一句:检查木马不是一次性工作。我见过最离谱的案例,站长清完木马后没改FTP密码,结果第二天又被种上新的。杀完毒务必做三件事——改所有后台密码、更新CMS到最新版、删除不用的插件和主题。安全这回事,七分在预防,三分在检测。你花半小时做完这些检查,比装十个安全插件都管用。