在某些 PHP 版本(8.1.* 低于 8.1.29,8.2.* 低于 8.2.20,8.3.* 低于 8.3.8)中,当在 Windows 上使用 Apache 和 PHP-CGI 运行 PHP 时存在一个严重漏洞。如果系统配置使用了特定代码页,Windows 的“最佳匹配”行为可能会替换传递给 Win32 API 函数的命令行中的字符。此行为可能导致 PHP-CGI 模块将这些字符误解释为 PHP 选项,从而允许攻击者向 PHP 二进制文件传递选项。这可能导致脚本源代码泄露或在服务器上执行任意 PHP 代码。
我已针对此漏洞开发了一个概念验证 (PoC) 漏洞利用程序,以展示其潜在影响。
免责声明: 本 PoC 仅供教育目的以及帮助制定安全措施之用。不应将其用于恶意目的。请负责任地使用,且仅用于已获得明确授权的系统。