介绍: PHP 是一种被广泛使用的脚本语言,由于其在全球范围内被广泛部署于 Web 服务器中,一直是攻击者的攻击目标。最近由 Orange Tsai(来自 DEVCORE)发现并由 watchTowr 的研究人员利用的漏洞 CVE-2024–4577,揭示了 PHP 在处理 CGI 时的一个关键漏洞,可以在特定配置下实现远程代码执行 (RCE)。本文将探讨该漏洞的工作原理,并讨论受影响的版本及缓解措施。
图片来自:Devcore
了解这个漏洞: CVE-2024–4577 是一个 PHP CGI 参数注入漏洞攻击,允许攻击者在运行在 Windows 上的存在漏洞的 PHP 配置中注入任意的命令。以下该漏洞主要影响:.
- 建议使用 PHP 8.3 版本,需要低于 8.3.8 版本
- 建议使用 PHP 8.2 版本,需要低于 8.2.20 版本
- 建议使用 PHP 8.1 版本,需要低于 8.1.29 版本
例如 PHP 8.0、PHP 7 和 PHP 5 这样的旧版本已停止维护,不再接收更新,如果仍在使用,它们可能会成为潜在的攻击目标。
PoC(概念验证): @watchTowr 开发的PoC展示了攻击者如何利用这一漏洞远程执行命令。以下是一个PoC中使用的命令示例:
python watchTowr-vs-php_cve-2024-4577.py -c "<?php system('calc');?>" -t http://192.168.253.132/test.sina # 运行此Python脚本以在远程服务器上执行calc命令
此命令是针对一个PHP服务器的,并触发在Windows机器上运行计算器应用程序。输出显示了成功的利用:
成功利用漏洞
(*) 攻击成功
技术细节如下: 该漏洞在于 PHP 处理 CGI 请求的方式,允许经过精心构造的参数被解释为脚本的一部分,从而导致命令注入。攻击者可以利用这一点,获得对服务器的完全控制,这可能导致数据泄露、未经授权的访问以及其他严重后果。
缓解措施如下: 管理员应立即尽快修复服务器,方法是将PHP更新至最新安全版本。
- PHP 8.3.8 或之后的版本
- PHP 8.2.20 或之后的版本
- PHP 8.1.29 或之后的版本
结论: CVE-2024-4577 是一个明显的提醒,即使是小小的配置失误也可能导致严重的漏洞。定期更新补丁、持续监控和及时关注安全公告是保持 PHP 环境安全的关键措施。
共同学习,写下你的评论
评论加载中...
作者其他优质文章