0x00 前言

免责声明

本文仅用于网络安全学习及自有网站、服务器或已获得授权系统的安全自查。未经授权,请勿对其他计算机系统进行测试或操作。

网页篡改是网站安全事件中比较常见的一种表现形式。它不仅会影响网站正常展示,还可能损害网站信誉,甚至造成用户信息泄露等问题。

本文主要介绍网页篡改的常见类型、检测方法及修复思路。


0x01 漏洞描述

网页篡改是指攻击者通过利用网站或服务器存在的安全问题,未经授权修改网站页面内容、代码或页面返回结果的行为。

常见表现包括:

  • 网站首页被替换,出现异常文字或图片。

  • 页面中出现不相关的广告、链接或暗链。

  • 网站标题、关键词和描述被修改。

  • 页面被植入恶意脚本,访问时出现异常跳转。

  • 搜索引擎访问时看到的内容与普通用户不同。

其中,比较隐蔽的一种情况是定向篡改:普通用户访问网站时一切正常,但搜索引擎爬虫访问时却会收到另一套内容。

这种行为常与黑帽 SEO、恶意引流及虚假内容传播有关。

0x02 网页篡改的危害

网页篡改带来的影响不仅是页面显示异常,还可能涉及网站信誉和业务安全。

  1. 黑帽 SEO: 植入大量无关链接和关键词,利用网站权重为其他站点引流。

  2. 虚假信息传播: 篡改新闻、公告和业务信息,误导正常访问者。

  3. 恶意跳转: 将用户引导至钓鱼网站或其他不安全页面。

  4. 搜索引擎风险: 网站可能被搜索引擎降低排名,甚至出现安全警告。

  5. 品牌信誉受损: 用户对网站产生不信任,影响正常业务。

如果篡改行为长期存在,还可能说明网站后台、文件权限或服务器环境已经受到影响。

0x03 网页篡改分类

根据篡改内容的展示方式,可以将其分为一般篡改和定向篡改两种情况。

1. 一般篡改

一般篡改是指用户正常访问网站时,就能够直接看到异常内容。

例如,网页中出现陌生广告、异常跳转、隐藏链接或被修改的页面标题等。

image-SptR-PNoq.png

这些内容可能直接写入 HTML 源代码,也可能通过 JavaScript 动态插入页面。

部分篡改内容还会使用 HTML 实体编码,例如将汉字转换为实体字符,以增加代码阅读难度。

image-EMyc-ZbsB.png

常见篡改位置包括:

  • HTML 页面正文

  • title、keywords、description 等标签

  • 外部 JavaScript 文件

  • 页面中动态加载的第三方资源

因此,排查时不能只检查网页可见内容,还应关注页面源代码和外部资源加载情况。

2. 定向篡改

定向篡改是指网站根据访问请求的特征,向不同访问者返回不同内容。

例如,服务器根据 User-Agent、访问来源或其他请求特征判断访问者身份。当识别到搜索引擎爬虫时,返回经过篡改的页面;普通用户访问时,则返回正常页面。

这种方式具有较强的隐蔽性,常被用于黑帽 SEO、恶意引流等场景。

典型表现:

  • 搜索引擎爬虫访问时,页面出现异常内容。

  • 普通浏览器访问时,页面显示正常。

  • 不同请求可能返回不同的状态码或页面内容。

模拟搜索引擎访问时的异常响应

image-HUMi-WFOU.png

普通访问时的页面响应

image-bjzs-iygE.png

需要注意,搜索引擎与普通用户看到的内容不同,不一定意味着网站被篡改。缓存、CDN、地域策略和正常的页面适配也可能造成差异,需要结合服务器日志和实际代码进一步判断。

0x04 检测方法

1. 在线检测平台

该平台的站点分析模块支持使用搜索引擎 User-Agent 请求目标网站,可以辅助发现部分针对搜索引擎爬虫的定向内容。

在线平台检测示例

在线检测只能作为辅助参考,不能完全代替服务器端排查。

2. 浏览器插件修改请求头

可以使用浏览器开发者工具或请求头管理插件,对比不同 User-Agent 下的网站响应。

推荐工具:

通过工具切换不同的 User-Agent,再观察页面内容和响应是否存在明显差异。

新增请求头配置

image-LrZP-djri.png

Spider: Baiduspider+(+https://www.baidu.com/search/spider.htm);google|baiduspider|baidu|spider|sogou|bing|yahoo|soso|sosospider|360spider|youdao|jikeSpider;)

选择配置好的 User-Agent

image-ykNZ-AqcN.png

访问目标网站

image-ruqN-xuDr.png

检查请求头

image-EoxX-kkpn.png

完成请求后,可以重点检查:

  • HTTP 响应状态码是否异常。

  • 返回的 HTML 内容是否存在差异。

  • 页面标题、关键词和描述是否被修改。

  • 是否加载了陌生的 JavaScript 文件。

  • 是否存在异常跳转或外部链接。

如果不同访问身份返回的内容明显不同,应进一步检查服务器代码、CDN 配置和访问日志,确认是否存在定向篡改。

0x05 修复建议

发现网页被篡改后,不建议只删除页面上看得见的异常内容,还需要排查篡改来源,避免问题再次出现。

  1. 清理异常页面: 检查并恢复被修改的 HTML、模板和页面资源。

  2. 排查后门程序: 检查服务器中来源不明的文件、异常进程和可疑定时任务。

  3. 检查 JavaScript 文件: 重点关注近期新增或被修改的 JS 文件,以及异常的外部资源引用。

  4. 检查服务端代码: 对比正常版本,排查被修改的程序文件和配置文件。

  5. 检查账号权限: 排查异常登录记录,及时修改相关账号密码并收紧文件权限。

  6. 修复入口漏洞: 检查网站程序、插件和服务器组件,避免攻击者通过原有入口再次修改页面。

  7. 检查缓存与 CDN: 清理异常缓存,确认修复后的内容已经正常生效。

修复完成后,应分别检查普通访问和搜索引擎访问的页面内容,并持续观察服务器日志。

0x06 总结

网页篡改并不一定表现为首页被替换或页面出现明显异常。部分篡改行为会隐藏在 HTML、JavaScript、页面元信息甚至针对特定访问者的响应中。

因此,网站安全检查不能只依赖浏览器中的可见内容,还需要结合页面源代码、HTTP 响应、服务器日志和文件变更记录进行综合分析。

发现异常只是第一步,找到篡改入口并彻底修复,才是真正解决问题的关键。

0x07 About 作者

以上内容根据个人学习和实践整理,如有遗漏或错误,欢迎留言交流指正。