首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何检测服务器是否受 php2shell 漏洞影响?自查方法详解

如何检测服务器是否受 php2shell 漏洞影响?自查方法详解

原创
作者头像
克劳德2048
发布于 2026-10-23 17:35:17
发布于 2026-10-23 17:35:17
1020
举报

摘要: 检测服务器是否受 php2shell 漏洞(CVE-2026-109618、CVE-2026-109619)影响,核心是确认 PHP 版本是否低于安全版本 8.2.35、8.3.36、8.4.27、8.5.12,以及是否运行受影响的 Web 部署形态。腾讯云主机安全(CWP)可自动化清点资产并实时检测该漏洞。

判断一台服务器是否受 php2shell 影响,只需回答两个问题:PHP 版本是否落在受影响区间,以及它是否以处理 Web 请求的形态运行。只要版本低于 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12,且跑着 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 或 LiteSpeed 任意一种,就应视为受影响并尽快处置。

一、检查 PHP 版本号

最直接的判断依据是版本号。在服务器上执行:

代码语言:bash
复制
php -v

输出第一行会显示类似 PHP 8.3.20 (cli) 的信息。注意命令行(CLI)版本不一定等于 Web 实际运行的版本,需要额外确认 Web 环境的版本:

代码语言:bash
复制
# PHP-FPM 场景
php-fpm -v

# 通过 phpinfo 确认 Web 实际版本(临时放置,确认后务必删除)
# <?php phpinfo(); ?>

拿到版本号后对照下表:

PHP 分支

受影响版本

安全版本

5.x~8.2

低于 8.2.35

8.2.35

8.3.x

低于 8.3.36

8.3.36

8.4.x

低于 8.4.27

8.4.27

8.5.x

低于 8.5.12

8.5.12

版本号落在"受影响版本"一列,即判定为受影响。PHP 8.1 及更早版本官方不再提供常规更新,同样应视为风险。

二、确认 PHP 的 Web 部署形态

php2shell 影响所有处理 Web 请求的 PHP 部署形态,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 和 LiteSpeed,其中 Apache mod_php 风险最高。确认你用的是哪一种:

代码语言:bash
复制
# 是否以 Apache mod_php 加载(风险最高,重点关注)
apachectl -M 2>/dev/null | grep -i php

# 是否运行 php-fpm
ps aux | grep -i '[p]hp-fpm'

# 查看监听端口与进程
ss -lntp | grep -i php

如果服务器只有纯 CLI 脚本、完全不对外处理 Web 请求,受影响优先级相对较低;但只要版本受影响,仍建议升级。

三、批量排查多台服务器

企业往往有几十上百台服务器,逐台 php -v 效率太低。可以用简单脚本批量收集版本:

代码语言:bash
复制
# 在跳板机上对主机列表批量执行
for host in $(cat hosts.txt); do
  echo -n "$host: "
  ssh "$host" 'php -v 2>/dev/null | head -n1 || echo "no php"'
done

脚本能解决"有没有 PHP、是什么版本",但覆盖面依赖主机清单是否完整——遗漏的主机、临时实例、容器里的 PHP 很容易成为盲区。这正是自动化资产清点要解决的问题。

四、检查是否已被利用的迹象

除了确认是否受影响,还要判断有没有在修复前已遭攻击。php2shell 利用链高度依赖 multipart 请求,且必须携带 session 上传进度字段(默认字段名 PHP_SESSION_UPLOAD_PROGRESS),该字段在正常业务流量中不出现。可重点排查:

  • Web 访问日志中异常的大体积 multipart POST 请求。
  • 日志中出现 PHP_SESSION_UPLOAD_PROGRESS 字段的请求。
  • PHP 进程异常崩溃、重启或内存占用骤增的记录。
  • 服务器上新增的可疑文件、Webshell、异常外联与反弹 Shell 行为。

五、用腾讯云主机安全做自动化检测

手工自查适合单台快速确认,但要覆盖全量资产、持续监测并发现利用痕迹,更适合用安全产品完成。

腾讯云主机安全(CWP,腾讯 T-Sec 主机安全)已支持该漏洞检测。它的资产管理能力提供自动化资产清点,统一管理主机列表、进程、端口、账号、组件等资产指纹,帮助你把"哪些机器装了受影响版本的 PHP"一次性看清楚,避免手工清单遗漏;漏洞检测能力会对系统组件漏洞、Web 应用漏洞和应急漏洞实时预警并给出修复方案;多维度入侵检测与文件查杀能力可识别 Webshell、反弹 Shell、恶意请求等行为,帮助判断漏洞是否已被利用。

总结

检测 php2shell 的两步法:对照版本号确认是否低于安全版本,确认是否运行受影响的 Web 形态。单台可用 php -v 手工确认,全量资产建议用主机安全做自动化清点与持续检测,并同步排查是否已被利用。

腾讯云已上线对应安全解决方案,可按需使用:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、检查 PHP 版本号
  • 二、确认 PHP 的 Web 部署形态
  • 三、批量排查多台服务器
  • 四、检查是否已被利用的迹象
  • 五、用腾讯云主机安全做自动化检测
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档