攻击流量疯涨却没人入侵成功?PHP2Shell背后的真相比想象中更危险
安全牛
2026年11月5日 12:14
北京
去阅读
点击蓝字 关注我们
最近PHP爆出两个严重漏洞,被叫做\"PHP2Shell\",编号CVE-2026-109618和CVE-2026-109619。有意思的是:攻击流量暴涨,但真正成功入侵的案例几乎没有。不过别高兴太早,利用门槛正在被一步步突破。
漏洞到底怎么回事
这两个漏洞都出在PHP处理内存的地方,攻击者不用登录就能远程执行代码。
CVE-2026-109618的问题是内存不够用时的异常处理。PHP处理请求时如果内存耗尽,异常处理可能在数据还没初始化完就中断了,后面清理这些无效数据就会导致内存破坏。
CVE-2026-109619是释放后使用的问题。在特定异常路径里,指向请求内存的状态可能在内存释放后还留着,后续请求再用这些过期状态就出问题了。
这两个漏洞都能让攻击者通过精心构造的请求拿到代码执行权限。但要注意,有漏洞不等于随便发个请求就能控制服务器,实际利用还受目标系统架构、PHP版本、内存布局等因素影响。
亚马逊的发现:攻击可能早就开始了
亚马逊安全团队发现,针对PHP2Shell的攻击最早能追溯到2026年10月17日,比10月21日的官方披露早了好几天。这说明部分攻击者可能提前掌握了漏洞信息。
这给企业提个醒:安全调查不能只从公告发布日开始。有条件的话,应该把10月17日作为排查起点,甚至往前看更早的记录,重点关注互联网暴露的PHP系统有没有异常请求、进程崩溃、可疑文件写入或未授权命令执行。
Sophos修正结论:扫描不等于入侵
Sophos最初说观察到了成功利用,后来改口了。10月22日他们明确表示,数据主要显示的是扫描和失败的利用尝试,没证据表明真的入侵成功了。
这事儿很重要。漏洞公开后,安全设备会记录大量异常访问,这些请求可能来自扫描器、研究机构或真攻击者。但请求特征相似不代表风险相同。
攻击者发送一个试图触发内存异常的请求,设备识别出漏洞特征,这只能证明有可疑行为。如果请求被阻断了,或者目标环境不符合利用条件,就不能说服务器已经被控制。要证明入侵成功,还需要异常进程执行、恶意文件落地、非预期网络通信等证据相互印证。
谷歌威胁研究专家John Hultquist也说,他们团队还没验证出真实环境中的成功利用,也没发现大规模利用证据。但他提醒,不排除有限范围的利用已经开始。
僵尸网络也来凑热闹
Arctic Wolf观察到与Potassium僵尸网络相关的利用尝试,Cobalt发现了Mirai僵尸网络的攻击尝试。攻击者试图利用漏洞投递恶意软件,把受影响设备拉进僵尸网络发动DDoS攻击。
不过,研究机构能识别攻击者尝试投递载荷,不等于载荷成功执行了。在Sophos的监测中,Potassium关联载荷的投递就被阻断了。
这提醒企业,不能只检查Web防火墙有没有触发漏洞规则,还要结合服务器运行状态和网络行为判断攻击有没有进入后续阶段。比如Web服务进程有没有产生异常子进程,服务器有没有连接陌生外部地址,有没有可疑文件下载执行,业务主机有没有突然产生大量对外流量。
PoC满天飞,但大多不好用
VulnCheck的Spencer McIntyre说,团队确实观察到真实攻击尝试,但不少PoC代码质量很差,根本没法正常工作。有些只能在理想实验环境中跑通,有些依赖现实生产环境中不常见的PHP配置。
地址空间布局随机化(ASLR)是影响利用可靠性的重要因素。ASLR通过随机化进程地址空间中的内存位置,增加攻击者预测地址的难度。对于内存破坏漏洞,攻击者需要解决内存布局、指针地址、程序执行流程控制等问题。如果相关内存地址难以预测,实验室中能重复成功的利用在真实系统上可能频繁失败。
但是,VulnCheck开发出了能绕过ASLR的新利用方法。这说明之前限制漏洞利用的关键障碍能被突破。这项进展很重要,因为之前大量PoC在真实环境跑不通,可能让一些组织觉得短期内威胁不大。
但专业团队取得的突破说明,攻击门槛不是固定的,随着研究推进,攻击者可能逐步解决利用代码对目标版本、内存布局的依赖问题,提高攻击的稳定性和适用范围。
什么才算\"正在利用\"
网络安全专家Marcus Hutchins认为,围绕PHP2Shell\"正在被利用\"的报告,实际描述了两种不同活动。
一种是技术能力强的攻击者针对特定目标实施定向利用,这类攻击复杂度高,但不能仅凭扫描数据确认成功。
另一种是攻击者用公开的实验室PoC对大量目标自动化尝试,虽然能制造庞大攻击流量,但因为利用代码不成熟难以取得实际效果。
Hutchins说他观察到的证据更符合第二种情况。他认为ASLR未必是专业攻击者不可逾越的障碍,但确实可能妨碍大规模自动化利用。
值得警惕的是,已经有人开发出可以远程识别潜在漏洞系统的扫描器,互联网上出现大量相关扫描活动。这意味着攻击者即使暂时没有成熟利用工具,也可能已经在建立潜在目标清单。一旦更可靠的利用技术公开传播,这些目标清单就能用于后续攻击。换句话说,攻击者可能已经完成目标发现,只是在等待更高成功率的利用能力。
4100万级潜在暴露:规模不容忽视
根据Censys的监测数据,截至2026年10月22日,互联网上有超过4100万个对外服务的PHP实例运行在受影响版本上,另有约100万个已运行修复版本。
这些数据不能直接理解为4100万台独立服务器存在漏洞,更不能等同于4100万个系统已经被攻击。但确实体现出PHP服务庞大的互联网暴露规模。
对攻击者来说,广泛存在的潜在目标意味着即使单次利用成功率有限,也可能通过大规模扫描发现符合特定利用条件的服务器。
Cobalt首席信息安全官Andrew Obadiaru认为,目前缺乏确认入侵案例,反映出PHP2Shell武器化利用有一定难度,但这种困难不可能长期保持。攻击者正在公开环境中不断完善利用工具,通过服务器指纹识别寻找符合特定利用条件的配置。攻击者的行为可能正在从无差别尝试向更精确的目标筛选发展。
企业该怎么办
1. 建立PHP资产清单
首先要搞清楚哪些系统受影响。梳理互联网暴露的Web服务器、业务应用、容器工作负载、依赖PHP的管理平台。对于用内容管理系统、第三方Web组件的,还要确认软件内部有没有包含PHP运行环境。
重点记录系统对外暴露情况、业务重要程度、PHP运行版本、Web服务架构、补丁状态和责任人。直接暴露于互联网、处理敏感数据或有高系统权限的PHP服务优先处理。
2. 及时升级PHP版本
根据官方公告,已发布修复的版本包括:PHP 8.5.12、8.4.27、8.3.36、8.2.35。结合当前使用的PHP分支和操作系统,升级至包含安全修复的版本。
对于PHP 8.1及更早版本,特别关注其支持状态和供应商提供的修复方式。无法通过正常安全更新获得有效修复的系统,应制定向受支持版本迁移的计划。
升级时注意部署环境一致性。可能服务器上的软件包已更新,但实际Web服务进程还在用旧版本;或者开发环境完成升级,生产环境的容器镜像却没重新构建。漏洞修复不能只以\"补丁安装完成\"作为结束标准,还要确认相关服务已重启、运行时版本已更新。
3. 无法立即升级时的临时缓解
对于业务复杂、兼容性要求高的系统,短时间内可能难以完成全面升级。可以参考PHP官方提供的临时缓解指导,通过调整运行配置、限制请求行为和强化访问控制降低暴露风险。
比如,结合实际业务评估文件上传功能,对无需上传文件的接口限制不必要的multipart/form-data请求。在Web服务器、反向代理或WAF层面,对请求体大小、请求结构复杂度和异常访问行为实施合理限制。
注意某些缓解配置可能改变PHP的资源管理行为,甚至影响服务器可用性,必须结合操作系统、容器资源限制及具体业务负载评估。不要直接复制未经验证的网络配置方案在生产环境批量应用。
临时缓解措施的作用是降低攻击可行性,不是从根本上修复漏洞。即使已经部署WAF规则或调整运行配置,仍要继续推进正式补丁升级。
4. 以攻击链为基础开展日志排查
将异常HTTP请求与后续主机行为结合分析。
Web侧,重点观察与漏洞相关的异常POST请求、可疑上传行为、异常请求频率。
运行环境侧,关注PHP工作进程异常退出、频繁重启、内存使用异常。
主机侧,重点检查Web服务进程有没有创建异常子进程,有没有可疑文件写入,有没有未授权命令执行以及异常持久化迹象。
网络侧,关注服务器有没有向未知外部地址发起异常连接,或产生与正常业务不一致的出口流量。
单独出现进程重启、HTTP异常状态码或较大请求体,不能证明漏洞利用成功。这些行为可能有正常业务原因,也可能由其他故障引起。需要结合时间线、访问来源、进程关系和系统运行状态关联研判。
5. 关注僵尸网络威胁
由于公开监测已涉及Potassium和Mirai关联攻击尝试,企业应关注漏洞利用后的恶意软件投递及潜在僵尸网络行为。
重点检查异常程序下载、未知二进制文件执行、可疑命令与控制通信,以及不符合业务需求的对外连接。
强化Web服务运行账户的最小权限控制,限制非必要的文件写入和命令执行能力,根据业务需要实施合理的网络出口访问策略。对于不需要主动访问互联网的业务工作负载,通过网络策略限制其对外通信范围。
6. 保留取证证据,建立清晰的事件判定机制
区分不同层次的安全状态:
- \"观察到扫描活动\":发现了与漏洞相关的探测行为
- \"发现疑似漏洞利用尝试\":请求特征与已知利用方式存在关联,但尚未确认成功
- \"确认漏洞利用成功\":具备能够证明目标系统执行了非预期操作的证据
- \"确认系统遭到入侵\":明确攻击者取得了未经授权的访问能力,以及实际影响范围
对于存在明确入侵迹象的服务器,在控制风险前提下保留必要的系统日志、进程信息、网络连接记录及其他取证材料。尤其需要进行内存取证时,评估重启、升级和隔离操作对易失性证据的影响,避免在调查前无意清除关键线索。
7. 持续关注利用技术变化
VulnCheck突破ASLR的研究进展表明,漏洞利用能力可能在短时间内发生变化。完成初步处置后,仍需持续跟踪PHP官方安全公告、安全研究机构报告以及相关产品供应商的补丁更新。
定期核查尚未修复资产是否仍然暴露于互联网,确认临时缓解措施是否保持有效。对于已完成修复的系统,通过版本验证和必要的安全检测确认修复效果。
总结
PHP2Shell事件的复杂性在于:攻击流量在涨,但成功利用的证据很少;公开PoC很多,但大多跑不通;ASLR构成障碍,但已经被突破。
真正需要警惕的,不仅是已经发生的攻击,更是攻击者利用能力不断提升与企业修复进度之间的时间差。
没有确认大规模成功利用,不代表可以放松警惕。一旦成熟利用技术从专业研究工具进入僵尸网络的自动化攻击流程,留给防守方的时间可能以天而非周计算。在漏洞真正成为大规模自动化攻击工具之前完成修复,远比攻击发生后开展应急响应更有主动权。
相关阅读
63亿美元收购只是信号:安全团队先回答“敏感数据在哪、谁能访问、AI代理能做什么”
模型没被修改,安全防线却失效了?多智能体系统中的“隐形通信链路”风险解析
网络安全招聘风向变了!AI技能需求一年翻倍,安全工程师必须掌握哪些新能力?
联系我们
合作电话:18610811242
合作微信:aqniu001
联系邮箱:[email protected]
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论