WordPress网站突现Sitetarget文件夹与非法内容,求无备份删除方案
解决非法链接仍可访问的问题(无需回滚备份)
看起来你的网站遭遇了恶意注入,生成了大量仿商品类的非法链接——即使删除了可疑的sitetarget文件夹,这些链接依然能访问。下面是不用回滚旧备份就能解决的步骤:
第一步:先搞清楚这些链接的“真面目”
先确认这些请求到底是命中了缓存、动态脚本还是数据库:
- 用服务器命令行执行
curl -I https://traderhub.id/Clothes,-Shoes-Accessories-198291/,查看响应头里的状态码、缓存标识(比如Cache-Control、CDN-Cache),以及返回的服务器信息 - 查看服务器的访问日志和错误日志,定位这些请求实际对应的文件或脚本,判断是静态缓存还是动态生成的内容
第二步:清除所有层级的缓存
很多时候非法链接能访问是因为缓存没清干净:
- 如果用了CDN,手动刷新全站缓存,把旧的非法链接缓存彻底清除
- 检查网站应用的缓存目录(比如WordPress的
wp-content/cache、其他框架的缓存文件夹),删除所有缓存文件 - 要是服务器开了端缓存(比如Apache的
mod_cache、Nginx的proxy_cache),重启服务或者清空缓存池
第三步:用.htaccess拦截非法链接规则
虽然你说.htaccess没改动,但可以添加针对性规则拦截这些非法链接:
观察你给出的示例链接,都是「英文关键词-数字后缀/」的格式,直接写正则匹配拦截:
RewriteEngine On # 拦截所有 关键词-数字/ 格式的非法链接,返回404 RewriteRule ^[A-Za-z,-]+-[0-9]+/?$ - [R=404,L]
把这段代码加到.htaccess的最顶部,这样所有符合该格式的请求都会直接返回404。如果后续发现其他格式的非法链接,再调整正则表达式即可。
第四步:检查应用的路由/伪静态规则
如果你的网站用了CMS或框架,路由规则可能被恶意篡改:
- 比如WordPress,进入后台「设置-固定链接」,重新保存一次规则,让系统重新生成正确的重写规则
- 其他框架的话,检查路由配置文件,确保没有新增陌生的路由规则
第五步:扫描服务器里的隐藏恶意文件
恶意脚本往往藏在隐藏目录或隐藏文件里(比如.xxxx.php),用命令行扫描排查:
# 扫描网站根目录下所有PHP文件,查找可疑的执行函数 grep -r "base64_decode\|eval\|curl_exec" /path/to/your/site/root # 查找最近7天内修改过的文件,排查新增的恶意文件 find /path/to/your/site/root -type f -mtime -7 -print
找到可疑文件直接删除,最好记录下文件内容,方便后续排查注入源头。
第六步:检查数据库是否被注入
这些非法内容可能存在数据库里:
- 登录数据库管理工具(比如phpMyAdmin),搜索包含
198291或非法链接关键词的记录,批量删除这些恶意数据 - 检查数据库用户列表,确认没有新增可疑用户,同时限制数据库用户的操作权限(比如只给必要的读写权限)
最后:验证修复效果
做完上面的步骤后,访问之前的非法链接,确认返回404;同时持续监控服务器日志,确保没有新的非法链接生成。
重要提醒:处理完当前问题后,一定要排查网站的注入漏洞——比如过时的CMS版本、有漏洞的插件/主题,及时更新所有核心程序、插件和主题,避免再次被攻击。
内容的提问来源于stack exchange,提问作者Golden Boy
相关产品推荐
相关产品推荐

