漏洞描述
该漏洞源于在 PHP 源码中存在数组内存未初始化会导致远程代码执行的安全问题,攻击者可利用该漏洞在未授权情况下,构造恶意数据执行攻击,最终可获取服务器最高权限。
漏洞影响版本
5.3.0 <= PHP 5.x <= 5.6.40
7.0.1 <= PHP 7.x < 7.4.30
8.0.0 <= PHP 8.0.x < 8.0.20
8.1.0 <= PHP 8.1.x < 8.1.7
漏洞复现
修改 `php.ini`,启用 `pgsql` 扩展:
extension=pgsql
postgres 数据库安装:
sudo apt install postgresql postgresql-contrib
sudo /etc/init.d/postgresql start
postgres 配置密码并允许网络访问。重启服务:
sudo /etc/init.d/postgresql restart
sudo /etc/init.d/postgresql status
利用 POC ( `test.php` )触发漏洞,可以看到 `efree` 释放了一个错误地址导致进程崩溃:
php.exe -f test.php
解决方案
1.如何检测组件系统版本
1.1 php 命令检测
php 安装目录下输入以下命令即可(php 配置了系统变量的可在任意目录下执行此操作)
php -v
或
php --version
1.2 phpinfo 页面检测
网站根目录创建 phpinfo.php 文件,内容如下:
<?php phpinfo(); ?>
创建完毕后访问该页面,即可查看当前版本。
2.官方修复建议
当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:
Windows系统:
https://windows.php.net/download
Linux系统:
https://www.php.net/downloads.php
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
© 版权声明
本站网络名称:
孤勇者社区
本站永久网址:
https://www.gyzsq.com
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ324470778删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
喜欢就支持一下吧
相关推荐
评论 共2条
![头像](/wp-content/themes/zibll/img/avatar-default.png)
欢迎您留下宝贵的见解!
- 最新
- 最热
只看作者