网站木马扫描,怎样检查用户访问路径

📍 WDQWDWQD987AAAAA:216.73.216.249
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /45822c026cf8.html
📄

网站木马扫描,怎样检查用户访问路径

用网站木马扫描的思路检查用户访问路径,核心不是扫描服务器文件,而是沿着“用户请求进入网站后依次经过哪些环节”收集证据,判断在哪一步被跳转、篡改或注入。下面从一个假设例子展开,说明具体步骤和容易犯的错误。

先明确要查的是哪条路径

用户访问路径指从浏览器发出请求,到最终看到页面内容之间经过的环节,通常包括:DNS解析、CDN或反向代理、Web服务器、应用代码、数据库、返回的HTML与JS。木马常在这些环节中的某一处插入跳转脚本、恶意iframe或篡改链接。

检查前先固定变量:用同一台设备、同一网络、同一浏览器,分别测试首页、栏目页和一篇内容页。如果只有部分页面异常,说明问题更可能在应用代码或数据库;如果所有页面都异常,优先查服务器配置、CDN或公共模板文件。

假设案例:首页正常,内容页跳转到陌生站点

假设某站点首页打开正常,但从搜索引擎进入某篇内容页时,会先显示正常内容,随后跳到一个陌生页面。这个现象有多种可能原因,不能直接断定是木马,需要逐步排除。

  1. 用浏览器开发者工具打开“网络”面板,勾选“保留日志”,访问异常页面,记录所有请求。重点看状态码、发起者、响应内容。如果跳转来自某个JS文件,记下它的URL和加载位置。
  2. 查看页面源代码,搜索window.location、location.href、eval、iframe等关键词。注意:这些词也可能出现在正常统计代码或广告代码中,需要结合来源判断。
  3. 禁用浏览器JavaScript后再访问同一页面。如果跳转消失,说明跳转由JS触发;如果仍然跳转,可能是HTTP 301/302跳转或服务器端输出。
  4. 用curl -I或浏览器网络面板查看响应头,确认是否有Location字段。有则是服务器端跳转,没有则更可能是前端脚本。
  5. 对比正常页面与异常页面的HTML差异,定位被插入的代码片段,再回到服务器查找该片段来自哪个文件、哪个模板或哪条数据库记录。

常见错误是只清空浏览器缓存就下结论,或者只扫描根目录而忽略子目录、上传目录、缓存目录和数据库中的内容。另一个错误是把CDN节点缓存的内容当成源站内容,导致删了源站代码但用户仍看到旧页面。

把访问路径拆成可核对的检查项

判断结果时注意:如果源站返回正常、CDN返回异常,问题在CDN缓存或节点;如果源站返回就异常,继续往应用和数据库查。只有定位到具体环节,网站木马扫描才有明确目标,而不是反复全盘扫描。

下一步怎么做

先按上面的检查项记录一次完整请求链路,把异常页面的请求头、响应头、页面源码和服务器日志保存下来。然后根据差异出现的位置,只清理和加固对应环节,再重新访问同一路径验证跳转是否消失。

图1 图2

nginx