| 插件名称 | 制作连接器 |
|---|---|
| 漏洞类型 | 认证的任意文件上传 |
| CVE 编号 | CVE-2025-6085 |
| 紧急程度 | 低 |
| CVE 发布日期 | 2025-09-03 |
| 来源网址 | CVE-2025-6085 |
Make(前身为 Integromat Connector)<= 1.5.10 — 认证管理员任意文件上传(CVE-2025-6085)
日期: 2025-09-03
作者: 香港安全专家
摘要
CVE-2025-6085 影响 Make(之前的 Integromat Connector)插件版本最高至 1.5.10。经过认证的管理员可以通过插件的上传端点将任意文件上传到网站。尽管利用此漏洞需要管理员凭据,但后果可能非常严重:WebShell、远程代码执行、持久性和完全网站妥协。.
本公告提供了技术分析、现实攻击场景、检测指标、事件响应手册和您可以立即应用的实用缓解措施 — 重点关注操作、服务器端加固和适当的虚拟补丁。.
为什么网站所有者即使在需要管理员权限时也应该关注
- 管理员凭据通常被重复使用、泄露或钓鱼;一个被攻破的管理员账户可以直接被利用。.
- 许多网站有多个管理员(开发人员、承包商),这增加了暴露风险。.
- 攻击者可以链式利用其他漏洞(XSS、CSRF、会话固定)以获取管理员会话,然后利用此上传缺陷。.
- 一旦攻击者能够在 Web 根目录下放置可执行文件,他们就可以执行代码、持久化并在环境中横向移动。.
即使需要管理员认证,也要将此漏洞视为高优先级。.
技术分析(这里“任意文件上传”的含义)
任意文件上传漏洞发生在文件上传未经过充分的服务器端验证时:
- 文件类型和 MIME 类型
- 文件扩展名
- 目标目录
- 文件内容(以防止可执行代码)
- 文件名(以防止路径遍历)
- 1. 上传端点的授权检查
2. 在 Make <= 1.5.10 中,上传端点允许经过身份验证的管理员将任意文件放置在磁盘上。如果目标是可通过网络访问的(上传、插件目录),攻击者可能会上传一个 PHP webshell 并通过 HTTP 调用它。或者,上传的文件可能会被其他应用逻辑后续包含,从而导致远程代码执行。.
3. 此类攻击的典型组件:
- 4. 一个通过 POST 接受文件数据的上传端点
- 5. 缺乏严格的服务器端类型/扩展名/内容检查
- 6. 上传目标可被 web 服务器访问
- 7. 允许执行的宽松文件权限或 web 服务器配置
现实攻击场景
-
8. 恶意管理员或被攻陷的管理员账户:
9. 一个被攻陷的供应商或承包商管理员账户被用来通过插件上传 PHP webshell,然后攻击者执行命令以持久化和升级权限。.
-
10. CSRF / 存储型 XSS 链:
11. 攻击者诱使管理员执行操作或利用存储型 XSS 获取特权会话,然后上传有效载荷。.
-
12. 持久后门 / 供应链滥用:
13. 上传的后门在更新后仍然存在或被用来篡改其他插件/主题/核心文件。.
14. CVSS 和风险背景
15. 发布的 CVSS 分数为 7.2。该分数反映了高影响(可能的远程代码执行/网站妥协),而攻击复杂性因需要管理员权限而有所缓和。在实践中,小型网站由于凭据管理不善和监控有限,往往面临更高的风险。.
16. 检测:您可能已被利用的迹象
- 17. /wp-content/plugins/make-connector/ 中的新或修改的 PHP 文件(或插件文件夹名称)
- /wp-content/uploads/
- 18. 其他插件或主题目录
- 19. 名称奇怪或有双重扩展名的文件(例如,.php.jpg,.phtml)
- 文件名奇怪或有双重扩展名的文件(例如,.php.jpg,.phtml)
- 与可疑管理员登录匹配的时间戳文件
- 未识别的管理员用户或最近的角色变更
- 可疑的 cron 作业或计划任务
- 从网络服务器到不寻常 IP 或域的出站连接
- HTTP 日志显示对新上传文件的访问或对插件端点的异常 POST
- 修改过的 .htaccess 或服务器配置,允许执行
有用的检测工具:文件完整性监控、服务器访问/错误日志、恶意软件扫描器,以及针对可疑用户或选项变更的数据库审计。.
如果您运行受影响的插件,立即采取措施(事件分类)
- 隔离和控制
- 将网站置于维护模式或下线,以限制攻击者的操作。.
- 如果可能,在调查期间在防火墙或服务器上阻止公共 HTTP 访问。.
- 保留证据
- 将日志(网络访问/错误、FTP/SFTP、SSH)、数据库转储和文件系统列表复制到安全位置以进行取证。.
- 除非出于控制需要,否则不要覆盖日志或重启关键系统。.
- 识别并删除可疑文件
搜索最近添加的 PHP 文件并检查内容。在删除之前保留取证副本。.
find /var/www/html/wp-content/uploads -type f -mtime -7 -print寻找 webshell 指标,如 base64_decode、eval、preg_replace 与 /e、system/exec 调用。.
- 更改凭据
- 重置所有管理员密码和服务账户(FTP、SSH、数据库)。.
- 强制注销所有用户并使会话过期。.
- 旋转站点使用的API密钥和令牌。.
- 检查持久性
- 检查wp-config.php、mu-plugins、.htaccess和主题/插件PHP文件中的注入代码。.
- 从已知良好的备份中恢复。
如果可用,从在被攻破之前进行的干净备份中恢复。 在重新连接到生产环境之前,验证恢复的网站已打补丁且干净。.
- 更新或删除插件
如果存在补丁,请立即应用。如果没有可用的修复且插件不是必需的,请卸载并删除其文件——仅停用可能会在磁盘上留下文件。.
- 加固和监控
- 应用服务器端加固,并在修复后至少设置几周的持续监控。.
如果您对安全地执行这些步骤缺乏信心,请联系您的托管服务提供商或专业事件响应团队——不完全的清理可能会留下持久的后门。.
您可以立即应用的实际缓解措施(无需代码级补丁)
这些缓解措施减少了攻击面,并限制了即使在易受攻击的插件仍然安装时的影响。.
A. 在WAF / Web服务器级别阻止上传端点
创建规则以阻止来自受信任IP的POST请求到插件的上传端点。如果您的防火墙支持虚拟补丁,请阻止匹配漏洞模式的请求(例如,POST到admin-ajax.php并带有特定的action参数)。.
拒绝特定插件上传URI的nginx示例规则:
location ~* /wp-admin/admin-ajax.php {
通过检查插件源确认操作名称和URI,并首先在暂存环境中测试规则。.
B. 禁用上传目录中的PHP执行
通过配置Web服务器防止执行上传文件中的PHP:
Apache (.htaccess) 对于 /wp-content/uploads/:
<IfModule mod_php7.c>
php_flag engine off
</IfModule>
<FilesMatch "\.(php|php5|phtml|phar)$">
Require all denied
</FilesMatch>
Nginx(服务器块):
location ~* ^/wp-content/uploads/.*\.(php|php5|phtml|phar)$ {
这会阻止直接执行,即使上传了 PHP 文件。.
C. 在上传处理程序中强制执行严格的文件类型检查
在可行的情况下,将接受的 MIME 类型和扩展名限制为已知安全类型(图像,PDF)。对于不受信任的插件,依赖于服务器级控制,直到插件被修补。.
D. 加固管理员访问
- 要求所有管理员账户启用双因素身份验证。.
- 删除未使用的管理员账户,并将管理员数量限制到最低。.
- 使用强大且独特的密码和密码管理器。.
- 如果操作上可行,通过 IP 限制 wp-admin 访问或使用 HTTP 基本身份验证。.
E. PHP 进程和文件权限的最小权限
- 确保 Web 服务器以非特权用户账户运行。.
- 设置文件系统权限,使 wp-content 仅在必要时可写,并且插件文件在更新之前不可被全局或 Web 服务器写入。.
F. 定期备份和不可变副本
- 保持每日的异地备份,并至少有一个不可变快照,Web 服务器无法更改。.
- 定期测试恢复。.
G. 监控和警报
- 使用文件完整性监控来警报新或修改的 PHP 文件。.
- 监控出站连接和异常流量模式。.
WAF 和虚拟补丁:它们的作用及其重要性
虚拟补丁在防火墙层应用规则,以拦截和阻止利用尝试,而无需修改应用程序代码。当官方补丁尚未应用(或无法立即应用)时,虚拟补丁提供即时保护。.
针对此漏洞的常见虚拟补丁策略:
- 除受信任的管理员IP外,阻止对特定插件上传操作的POST请求。.
- 阻止包含PHP开头标签或以.php结尾的文件名的多部分上传。.
- 阻止具有可疑多部分有效负载或意外参数的请求。.
虚拟补丁在您修补、移除插件或执行受控修复时对短期保护非常有价值。.
示例WAF签名(概念模式)
这些是说明性模式;在暂存环境中仔细测试以避免误报。.
- 检测多部分上传中以.php结尾的文件名:
条件:multipart/form-data && filename =~ /\.php(\d+)?$/i
- 阻止包含PHP标签的上传:
条件:request_body包含“<?php”
- 阻止对插件上传操作的POST请求:
条件:POST && request_uri包含“/wp-admin/admin-ajax.php” && args包含“action=make_upload”
长期安全:开发者和网站所有者检查清单
- 保持WordPress核心、主题和插件更新;订阅漏洞信息以快速了解。.
- 限制管理员账户并定期审核角色。.
- 对特权用户强制实施双因素认证。.
- 使用强大且独特的密码,并在怀疑时更换凭据。.
- 在WP管理中禁用文件编辑:
define('DISALLOW_FILE_EDIT', true); - 定期扫描恶意软件并执行文件完整性检查。.
- 加固 PHP:如果不需要,禁用危险函数(exec、shell_exec、system)。.
- 在 web 服务器配置中禁用目录列表。.
- 使用服务器端保护,如 mod_security 或等效规则集以及正确配置的 WAF。.
- 保持经过测试的备份和恢复计划。.
- 限制 SSH/FTP 访问到已知 IP,并使用基于密钥的 SSH。.
事件响应手册(详细工作流程)
- 分类(前 24 小时)
- 确认网站是否运行受影响的插件/版本。.
- 创建服务器和数据库的取证快照。.
- 通过更改管理员密码和将网站置于维护模式来限制访问。.
- 控制(24–72 小时)
- 立即应用防火墙/WAF 规则以阻止利用模式。.
- 如果没有可信的补丁,请禁用或卸载插件。.
- 在进行取证副本后保留并删除可疑文件。.
- 轮换管理员和系统凭据。.
- 根除与恢复(72 小时 – 数周)
- 清理或恢复受损文件;如果不确定,从干净的备份中恢复。.
- 修补和更新所有软件组件。.
- 如有必要,重建系统并重新发放 API 密钥和秘密。.
- 事件后
- 执行根本原因分析,以了解管理员凭据是如何暴露的。.
- 改进日志记录、监控和管理员培训。.
- 考虑定期进行安全评估和渗透测试。.
受损指标(IoCs)— 快速检查清单
- 上传或插件目录中具有可疑名称的新文件
- Webshell 签名:base64_decode,eval(base64_decode(…)),preg_replace with /e,system/exec/passthru
- HTTP 日志显示对可疑文件的访问或对插件端点的 POST 请求
- PHP 进程中意外的外部连接
- 未识别的管理员用户或角色更改
示例加固代码片段(谨慎使用)
如果不需要,请禁用 XML-RPC:
add_filter('xmlrpc_enabled', '__return_false');
在 wp-config.php 中禁用插件/主题文件编辑:
define('DISALLOW_FILE_EDIT', true);
如果无法立即修补 — 临时防御选项
- 如果插件不是必需的,请完全卸载并移除该插件。.
- 在停用后删除插件文件以避免残留代码。.
- 在 Web 服务器或 WAF 级别阻止插件的管理员端点。.
- 将 wp-admin 限制为已知 IP 或在 wp-admin 前放置 HTTP 基本身份验证。.
- 持续监控利用指标。.
来自香港安全专家的结束建议
接受文件并在 webroot 下写入的代码路径必须以最高谨慎对待。管理员级别的漏洞通常会迅速导致完全妥协,因为它们允许攻击者放置持久的可执行代码。如果您运行受影响的插件并且无法立即更新,请采取保守措施:禁用或移除该插件,施加服务器级别的限制,强制实施 2FA 和其他管理员加固,并假设已被妥协,直到证明不是。.
如果有疑问,请联系您的托管服务提供商或可信的事件响应团队,以确保彻底和专业的清理。.
最终检查清单 — 现在需要执行的快速操作
- 验证插件版本:如果 <= 1.5.10,请立即采取行动。.
- 如果有可用的修补版本,请立即更新。.
- 如果没有补丁,请卸载并删除插件文件。.
- 对所有管理员账户强制实施双因素认证和强密码。.
- 禁用上传中的PHP执行,并在服务器/WAF级别阻止插件上传端点。.
- 扫描可疑文件并保留取证证据。.
- 清理后轮换所有凭据和API密钥。.
- 启用监控:文件完整性、出站流量和访问日志。.
参考资料和进一步阅读
- CVE-2025-6085(公开咨询)
- WordPress安全加固指南(官方文档)
- PHP和Web服务器加固最佳实践