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

0x01 产品简介

PHP-CGI 是一种用于在 Web 服务器上运行 PHP 脚本的接口,通过 CGI(公共网关接口)将 PHP 解释器与 Web 服务器连接。

0x02 漏洞概述

2024年6月,PHP官方发布新版本,修复了 PHP-CGI 中一个远程代码执行漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可获取操作系统权限,建议所有使用受影响版本的企业尽快升级修复,以确保安全。

漏洞成因

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

漏洞影响

该漏洞可在受影响的环境下执行任意PHP代码,从而获取操作系统权限。最严重的情况下,这可能导致服务器的完全接管,敏感数据泄露,甚至将服务器转化为发起其他攻击的跳板。

0x03 影响范围

PHP 8.3 < 8.3.8 

PHP 8.2 < 8.2.20 

PHP 8.1 < 8.1.29 

其他版本官方已停止维护,可根据实际情况采取相应的缓解措施。

0x04 复现环境

FOFA:

header="Xampps_info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用JDBC连接MySQL完整步骤(实测可用)

目录 步骤一&#xff1a;准备MySQL JDBC驱动程序 步骤二&#xff1a;导入必要的类 步骤三&#xff1a;建立数据库连接 步骤四&#xff1a;关闭连接 完整示例 附加 要使用Java连接MySQL数据库&#xff0c;您可以使用Java Database Connectivity&#xff08;JDBC&#xff0…

【JavaScript脚本宇宙】构建Web美学:CSS预处理器和UI库

构建优秀用户界面的必备利器&#xff1a;六款前端框架解析与比较 前言 前端开发中&#xff0c;选择合适的框架对于提高工作效率和实现设计目标至关重要。本文将介绍一些流行的前端框架&#xff0c;它们各具特色&#xff0c;能够帮助开发人员快速构建优秀的用户界面。 欢迎订阅…

21.注入的概念

上一个内容&#xff1a;20.创建辅助模板 在 19.使用纯c代码实现调用hp减伤害 它里面的代码需要我们自己手动调用WriteProcessMemory函数把辅助代码放到游戏进程内存中然后还需要计算大小计算辅助函数的内存地址&#xff0c;这是很麻烦的一件事&#xff0c;Windows系统提供了一…

数据结构及研究

**数据结构是计算机存储、组织数据的方式&#xff0c;它是相互之间存在一种或多种特定关系的数据元素的集合**Θic-1ΘΘic-2ΘΘic-3ΘΘic-4ΘΘic-5Θ。 数据结构这一概念在计算机科学领域扮演着至关重要的角色&#xff0c;它不仅决定了数据在计算机内部的存储方式&#xf…

Block Transformer:通过全局到局部的语言建模加速LLM推理

在基于transformer的自回归语言模型&#xff08;LMs&#xff09;中&#xff0c;生成令牌的成本很高&#xff0c;这是因为自注意力机制需要关注所有之前的令牌&#xff0c;通常通过在自回归解码过程中缓存所有令牌的键值&#xff08;KV&#xff09;状态来解决这个问题。但是&…

计算机组成结构—IO方式

目录 一、程序查询方式 1. 程序查询基本流程 2. 接口电路 3. 接口工作过程 二、程序中断方式 1. 程序中断基本流程 2. 接口电路 3. I/O 中断处理过程 三、DMA 方式 1. DMA 的概念和特点 2. DMA 与 CPU 的访存冲突 3. DMA 接口的功能 4. DMA 接口的组成 5. DMA 的…

软件架构初探

MVC架构软件层次结构是面向实体的&#xff0c;他最底层是实体类&#xff0c;实体类中封装了对象的抽象数据类型&#xff08;数据结构和对数据结构的基本操作&#xff09;。然后向上一层数据处理层提供接口&#xff0c;数据处理层利用模型层提供的对象和基本操作进一步进行算法的…

Elasticsearch 认证模拟题 - 15

一、题目 原索引 task1 的字段 title 字段包含单词 The&#xff0c;查询 the 可以查出 1200 篇文档。重建 task1 索引为 task1_new&#xff0c;重建后的索引&#xff0c; title 字段查询 the 单词&#xff0c;不能匹配到任何文档。 PUT task1 {"mappings": {"…

Linux学习之查找文件

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

机器学习----奥卡姆剃刀定律

奥卡姆剃刀定律&#xff08;Occam’s Razor&#xff09;是一条哲学原则&#xff0c;通常表述为“如无必要&#xff0c;勿增实体”&#xff08;Entities should not be multiplied beyond necessity&#xff09;或“在其他条件相同的情况下&#xff0c;最简单的解释往往是最好的…

Qt基于SQLite数据库的增删查改demo

一、效果展示 在Qt创建如图UI界面&#xff0c;主要包括“查询”、“添加”、“删除”、“更新”&#xff0c;四个功能模块。 查询&#xff1a;从数据库中查找所有数据的所有内容&#xff0c;并显示在左边的QListWidget控件上。 添加&#xff1a;在右边的QLineEdit标签上输入需…

pc之间的相互通信详解

如图&#xff0c;实现两台pc之间的相互通信 1.pc1和pc2之间如何进行通讯。 2.pc有mac和ip&#xff0c;首先pc1需要向sw1发送广播&#xff0c;sw1查询mac地址表&#xff0c;向router发送广播&#xff0c;router不接受广播&#xff0c;router的每个接口都有ip和mac&#xff0c;…

深入了解 Linux 命令 `db_stat`:数据库统计信息的获取

深入了解 Linux 命令 db_stat&#xff1a;数据库统计信息的获取 在 Linux 系统中&#xff0c;虽然没有一个标准的、内建的 db_stat 命令&#xff08;因为 db_stat 通常与特定的数据库系统相关&#xff09;&#xff0c;但我们可以假设这是一个用于查询数据库统计信息的命令。本…

【名词解释】Unity中的Toggle组件及其使用示例

Unity中的Toggle组件是一个UI控件&#xff0c;它允许用户切换一个选项的开或关状态。Toggle通常用于创建复选框&#xff08;checkbox&#xff09;和开关&#xff08;switch&#xff09;等UI元素&#xff0c;用户可以通过点击或触摸来改变其状态。 Toggle组件的主要特性包括&am…

【Vue】Vue路由-404

作用 当路径找不到匹配时&#xff0c;给个提示页面 位置 404的路由&#xff0c;虽然配置在任何一个位置都可以&#xff0c;但一般都配置在其他路由规则的最后面 语法 path: “*” (任意路径) – 前面都不匹配就命中最后这个 import NotFind from /views/NotFindconst rout…

Jupyter | 如何在Jupyter应用中添加、删除虚拟环境

Jupyter中添加虚拟环境步骤&#xff1a; 打开Anaconda Prompt&#xff0c;用conda创建虚拟环境&#xff0c;可指定Python版本&#xff1a; conda create -n myenv python3.6进入创建的虚拟环境&#xff1a; activate myenv安装ipykernel包&#xff1a; pip install --user …

阿里云隐私计算二期ECS云上资源配置

资源申请 感谢阿里云“云工开物”高校用云支持计划&#xff0c;我们可以获得一定额度的云资源&#xff0c;用于实现作业。具体申请流程参考 云工开物优惠券领取流程。 注意申请时需要勾选使用公网 IP 选项&#xff0c;方便我们使用 Web Client 研发。 环境准备 SSH 连接到 …

使用 Scapy 库编写 TCP SYN 洪水攻击脚本

一、介绍 TCP SYN 洪水攻击是一种拒绝服务攻击&#xff08;Denial-of-Service, DoS&#xff09;类型&#xff0c;攻击者通过向目标服务器发送大量的伪造TCP连接请求&#xff08;SYN包&#xff09;&#xff0c;消耗目标服务器的资源&#xff0c;导致其无法处理合法用户的请求。…

13. ESP32-HTTPClient(Arduino)

使用ESP32 Arduino框架的HTTPClient库进行HTTP请求 在ESP32开发里&#xff0c;网络通信是挺重要的一部分&#xff0c;你可能需要从服务器拿数据啊&#xff0c;或者把传感器数据发到云端什么的。不过别担心&#xff0c;ESP32 Arduino框架给我们提供了HTTPClient库&#xff0c;让…

力扣 有效的括号 栈

Problem: 20. 有效的括号 文章目录 思路复杂度&#x1f49d; Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f49d; Code class Solution {static Map<Character, Character> m…