Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PHP-8.1.0-dev-Backdoor — PHP 8.1.0-dev User-Agentt 后门远程代码执行(RCE) | Kitploit
工具/GitHubGitHub/k3ystr0k3r/php-8.1.0-dev-backdoor
漏洞分析漏洞利用Web应用程序漏洞利用Web安全供应链安全Payload 开发
GitHubk3ystr0k3r/php-8.1.0-dev-backdoor

PHP-8.1.0-dev-Backdoor

PHP 8.1.0-dev User-Agentt 后门远程代码执行(RCE)

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PHP 8.1.0-dev User-Agentt 后门远程代码执行(RCE)

严重性: 严重(CVSS 等效值:10.0)

漏洞类型: 供应链后门 / 远程代码执行(RCE)

受影响软件: PHP 8.1.0-dev(仅限开发构建版本)

攻击向量: 远程(未认证)

是否需要认证: 否

用户交互: 无

影响: 系统完全沦陷


概述

PHP 8.1.0-dev User-Agentt 后门 是开源软件历史上最臭名昭著的供应链入侵事件之一。与源于编程错误的传统漏洞不同,此问题源于恶意代码被故意插入 PHP 官方源代码仓库。

该后门出现在 2021 年 3 月期间的 PHP 8.1.0-dev 开发快照中,此前攻击者成功入侵了 PHP 的 Git 基础设施。恶意提交冒充受信任的 PHP 维护者,并引入了一个隐藏机制,能够在收到特制 HTTP 头时执行任意 PHP 代码。

尽管该后门仅存在很短时间就被发现并移除,但任何部署了被入侵开发构建的服务器都会立即面临**未认证远程代码执行(RCE)**的风险。

这一事件从根本上改变了 PHP 的开发工作流程,并最终促使 PHP 源代码仓库从自托管的 Git 基础设施迁移出去。 :contentReference[oaicite:0]{index=0}


此漏洞为何独特

大多数远程代码执行漏洞源于:

  • 缓冲区溢出
  • 输入验证错误
  • 内存损坏
  • 逻辑缺陷

而此漏洞与众不同。

它不是编码错误。

它是一个被故意植入的后门,隐藏在合法的 PHP 源代码之中。

攻击者并非利用现有弱点,而是修改了 PHP 本身,使其能够执行任何发起 HTTP 请求者所提供的任意 PHP 代码。

这使得该事件成为软件供应链攻击最著名的案例之一。


背景

2021 年 3 月 28 日,PHP 的 Git 仓库中出现了两个可疑提交。

两个提交都看似来自知名的 PHP 维护者。

起初它们看起来并无异常。

提交信息类似于普通的拼写修复。

然而,研究人员很快注意到 PHP 解释器中被添加的可疑代码。

被插入的代码会在传入的 HTTP 请求中搜索一个自定义头:

root@kitploit:~
User-Agentt

注意多出的那个 "t"。

这个细微的拼写差异帮助后门在常规审查中蒙混过关。

如果该头以触发字符串开头:

root@kitploit:~
zerodium

PHP 会立即使用以下函数执行其后的所有内容:

root@kitploit:~
zend_eval_string()

这实际上允许任何人远程执行任意 PHP 代码。

恶意提交在发现后数小时内即被移除。后续调查表明,攻击者入侵的是 PHP 的 Git 基础设施,而非合法获取维护者的签名密钥。 :contentReference[oaicite:1]{index=1}


根本原因

被插入的代码大致执行了以下逻辑:

root@kitploit:~
Incoming HTTP Request
          │
          ▼
Read User-Agentt Header
          │
          ▼
Does header start with "zerodium"?
          │
      Yes ▼
Execute remaining text as PHP
          │
          ▼
Attacker gains Remote Code Execution

PHP 没有将该头视为无害的元数据,而是直接将其作为可执行的 PHP 代码进行求值。


技术分析

正常情况下,HTTP 请求包含类似如下的头:

root@kitploit:~
GET / HTTP/1.1

Host: example.com

User-Agent: Mozilla Firefox

被入侵的 PHP 版本还会额外处理:

root@kitploit:~
User-Agentt:

如果其值以:

root@kitploit:~
zerodium

开头,PHP 就会调用:

root@kitploit:~
zend_eval_string()

剩余内容将变成可执行的 PHP 代码。

概念上:

root@kitploit:~
User-Agentt:

zerodium
        │
        ▼
zend_eval_string(payload)
        │
        ▼
Remote Code Execution

攻击流程

root@kitploit:~
Attacker
    │
    │ HTTP Request
    ▼

GET /

User-Agentt: zerodiumsystem("id");

    │
    ▼

PHP 8.1.0-dev

    │
    ▼

Backdoor Triggered

    │
    ▼

system("id")

    │
    ▼

Command Executed

    │
    ▼

Output Returned

无需认证。

无需会话。

无需凭据。

一个 HTTP 请求就足够了。


为什么是 "User-Agentt"?

攻击者故意选择

root@kitploit:~
User-Agentt

而不是

root@kitploit:~
User-Agent

因为:

  • 两者看起来几乎完全相同
  • 可以逃避常规审查
  • 大多数开发人员会忽略未知的 HTTP 头
  • 现有应用程序会继续正常工作

这个微小的拼写错误掩盖了一个完整的远程代码执行后门。


受影响版本

仅限:

root@kitploit:~
PHP 8.1.0-dev

特指 2021 年 3 月事件期间发布的被入侵开发快照。

稳定版本,例如:

  • PHP 7.x
  • PHP 8.0
  • PHP 8.1 稳定版

从未受到影响。


攻击条件

攻击者只需要:

  • 网络访问
  • HTTP 连接
  • 一台存在漏洞的 PHP 8.1.0-dev 服务器

无需认证。

无需暴力破解。

无需登录。

无需先前访问权限。


影响

成功利用允许攻击者:

  • 执行任意操作系统命令
  • 执行任意 PHP 代码
  • 读取敏感文件
  • 修改 Web 应用程序
  • 上传 Web Shell
  • 安装持久化后门
  • 导出数据库
  • 窃取凭据
  • 提升权限
  • 深入渗透内部网络
  • 完全控制受影响主机

实际上,此漏洞会导致服务器完全沦陷。


MITRE ATT&CK 映射


检测

管理员应立即调查暴露了以下信息的系统:

root@kitploit:~
PHP/8.1.0-dev

这些信息出现在诸如以下的响应头中:

root@kitploit:~
X-Powered-By:

PHP/8.1.0-dev

还应检查 HTTP 日志中是否包含可疑请求:

root@kitploit:~
User-Agentt

或

root@kitploit:~
zerodium

许多入侵检测系统和 IPS 产品现在都包含专门针对此攻击模式的检测签名。 :contentReference[oaicite:2]{index=2}


入侵指标(IOC)

可能的指标包括:

  • 包含 User-Agentt 的请求
  • 以 zerodium 开头的头值
  • 意外的命令执行
  • 未知的 PHP 文件
  • 新增的 Web Shell
  • PHP 派生的可疑子进程
  • 无法解释的出站网络连接

利用复杂度

属性值
认证无
用户交互无
复杂度非常低
所需权限无
远程是

这被认为是最容易利用的远程代码执行漏洞之一,因为攻击者只需发送一个特制的 HTTP 请求。


缓解措施

切勿在生产系统上部署 PHP 的开发快照。

如果发现服务器运行的是被入侵的构建版本:

  1. 立即移除存在漏洞的版本。
  2. 升级到稳定的 PHP 版本。
  3. 假设系统已完全沦陷。
  4. 轮换所有凭据。
  5. 审计是否存在 Web Shell。
  6. 审查认证日志。
  7. 检查计划任务和持久化机制。
  8. 如果无法排除系统被入侵的可能,请重新构建服务器。

安全教训

此事件揭示了几个重要的教训:

  • 开发版构建绝不应公开暴露。
  • 软件供应链是高价值攻击目标。
  • 代码签名和基础设施安全至关重要。
  • 源代码仓库需要持续监控。
  • 微小的代码改动可能隐藏灾难性的漏洞。
  • 对上游软件的信任必须始终经过验证。

此次入侵加速了 PHP 开发基础设施的变革,并凸显了软件供应链安全在整个行业中日益增长的重要性。 :contentReference[oaicite:3]{index=3}


参考资料

  • 关于恶意提交的 PHP Internals 讨论
  • PHP 源代码仓库事件报告
  • Packet Storm Security 漏洞利用发布
  • Juniper Threat Labs IPS 签名
  • 社区技术分析
  • 公开漏洞利用研究

结论

PHP 8.1.0-dev User-Agentt 后门 仍然是影响主流开源项目的软件供应链攻击中最具代表性的案例之一。攻击者并非利用编程缺陷,而是直接将隐藏后门植入该语言的源代码中,从而能够通过特制的 User-Agentt HTTP 头实现未认证的任意 PHP 代码远程执行。尽管被入侵的开发快照很快被移除,且没有任何稳定版 PHP 受到影响,但这一事件凸显了保护软件开发基础设施、验证代码来源以及避免在生产环境中部署开发构建版本的至关重要性。如今,该漏洞作为供应链安全领域的标志性案例被广泛研究,并提醒我们:软件构建过程的完整性与代码本身的安全性同等重要。

下载工具
技术描述
T1195供应链入侵(Supply Chain Compromise)
T1059命令与脚本解释器(Command and Scripting Interpreter)
T1505服务器软件组件(Server Software Component)
T1105入站工具传输(Ingress Tool Transfer)
T1071应用层协议(Application Layer Protocol)
T1106本机 API(Native API)
T1055进程注入(Process Injection,可能的利用后操作)
T1027混淆文件或信息(Obfuscated Files or Information)