PHP-CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

06-27 1144阅读

文章目录

  • 前言
  • 声明
  • 一、简介
  • 二、漏洞描述
  • 三、影响版本
  • 四、漏洞复现
  • 五、漏洞修复

    前言

    PHP 在设计时忽略 Windows 中对字符转换的Best-Fit 特性,当 PHP-CGI 运行在Window平台且使用了如下语系(简体中文936/繁体中文950/日文932等)时,攻击者可构造恶意请求绕过 CVE-2012-1823 补丁,从而可在无需登陆的情况下执行任意PHP代码


    声明

    请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。


    一、简介

    PHP是Hypertext Preprocessor(超文本预处理器)的缩写,现是一种广泛使用的开源的脚本语言,它特别适合Web开发和嵌入HTML中,使用起来很简单。

    CGI,英文叫做公共网关接口,就是Apache在遇到PHP脚本时会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户。

    二、漏洞描述

    PHP在设计时忽略了Windows中的Best-Fit字符转换特性。当PHP-CGI在Windows平台上运行并使用特定语系(如简体中文936、繁体中文950、日文932等)时,攻击者可以构造特殊查询字符串。URL解码后,这些字符串可能包含特定非ASCII字符,这些字符在Windows系统上会被映射为连字符,从而绕过CVE-2012-1823及CVE-2012-2311补丁,构造cgi模式的命令行参数,执行任意PHP代码。

    三、影响版本

    • PHP Windows版 8.3.0

      本地复现

      RCE获取服务器信息

      PHP-CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

      获取PHPinfo信息

      PHP-CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

      脚本探测

      PHP-CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

      五、漏洞修复

      目前,官方已发布修复建议,建议受影响的用户尽快升级至安全版本。

      PHP 8.3 >= 8.3.8
      PHP 8.2 >= 8.2.20
      PHP 8.1 >= 8.1.29
      

      下载地址:https://www.php.net/downloads.php

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]