You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用WP External Links后WordPress Rest API被注入钓鱼HTML,求排查方法

WordPress REST API 被注入钓鱼HTML的排查方案

调用 example.com/wp-json 接口时,返回内容会先出现一段隐藏的钓鱼HTML代码,之后才是正常的REST API响应体:

<html><body><div style="position:absolute;left:-12882px;width:1000px;"><p>phishing content <a href="phisihin external link" data-wpel-link="external">phishing</a>
phisging content </p></div>
</body></html>

该问题仅在启用WP External Links插件时触发,且插件会自动给钓鱼链接添加 data-wpel-link="external" 属性;但其他使用该插件的WordPress站点未出现此问题,目前所有REST API请求都被注入这段代码。

以下是具体排查步骤:

  • 排查WP External Links插件本身问题

    1. 对比正常站点配置:检查当前站点插件的「外部链接处理范围」「内容过滤规则」,确认是否误开启了对REST API响应的过滤,或者设置了异常规则。
    2. 重装插件:卸载当前插件,从官方源重新下载安装,排查是否是插件核心文件被恶意篡改。
    3. 检查插件钩子:用调试工具(如Query Monitor)查看插件绑定的rest_api_init、send_headers等REST API相关钩子,确认是否有异常回调函数提前输出内容。
  • 排查插件与主题/其他插件的冲突

    1. 切换默认主题:临时切换到Twenty系列官方主题,测试API是否还会被注入,排除主题自定义钩子干扰插件逻辑。
    2. 逐个禁用其他插件:除WP External Links外,逐个禁用其他插件并测试API,定位是否是某插件与WP External Links的钩子触发顺序冲突,导致恶意内容被输出。
  • 排查服务器层面的注入

    1. 检查服务器配置:查看Nginx/Apache的配置文件,确认是否存在异常的输出过滤规则或恶意添加的模块,导致响应前插入HTML。
    2. 检查PHP全局配置:查看php.ini中的auto_prepend_file、auto_append_file参数,确认是否被绑定了异常文件,导致全局输出注入。
    3. 扫描网站目录文件:检查网站根目录、wp-content/uploads等目录,排查是否存在陌生PHP文件,或被篡改的wp-config.php、functions.php文件。
  • 排查数据库中的恶意内容

    1. 搜索钓鱼关键词:用phpMyAdmin或WP-CLI在数据库中搜索phishing content、data-wpel-link="external"等关键词,确认是否是恶意内容被写入到选项表或内容表中,被插件过滤时误输出。
    2. 检查用户权限:查看站点管理员账户列表,排查是否存在陌生账户,防止恶意用户篡改配置或插入代码。

内容的提问来源于stack exchange,提问作者Preprocezzor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:46