网站被入侵最忌讳慌。先停服务或者临时切到维护页,防止木马继续执行;然后备份当前环境,哪怕已经脏了,也要留一份用于溯源;最后才是清理和后门加固。

排查WebShell 有个很实用的组合拳:先看最近被改过的文件,再搜特征字符串,最后比对原始文件。下面这段命令适合 Linux/宝塔环境,Windows 下思路一样,换 PowerShell 实现。
#最近7天内被修改过的PHP/ASP文件
find /www/wwwroot/site -type f \( -name '*.php' -o -name '*.asp' -o -name '*.cer' \) -mtime -7 -exec ls -l {} \;
#搜索常见WebShell特征
grep -rE "(eval\(|execute\(|assert\(|base64_decode\(|shell_exec\(|system\()" /www/wwwroot/site
找到可疑文件后不要直接删,先截图记录路径和MD5。很多木马会互相复活,你删了一个,另一个定时任务又把它写回来。建议把整站源码和数据库同时查一遍,尤其是计划任务和启动项。
清理完后必须做三件事:改所有后台密码、打补丁升级框架/CMS、关闭不必要的上传和脚本执行权限。很多二次入侵不是黑客多厉害,是管理员清理完没补洞。
数据来源:OWASP WebShell 检测指南、Nginx 官方文档(文件访问控制)
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
