PHP是构建网络最常见的编程语言。
PHP 7作为其全新的分支以打破一切、性能翻倍吸引众多用户。
然而其近期被曝存在安全漏洞,可导致服务器被接管。
漏洞介绍
近日,PHP官方公布了一个高危漏洞,一旦被黑客利用,服务器就会被黑客控制。
该漏洞名称是CVE-2019-11043,类型是RCE(远程代码执行),严重级别是高危。
PHP官方指出使用NGINX搭载PHP FPM的组合时,在部分配置下,存在漏洞被利用的风险,并且目前该配置使用广泛,因此该漏洞影响范围很大。
PHP-FPM是另一种PHP FastCGI实现,可为用PHP编程语言编写的脚本提供高级且高效的处理。
漏洞主要存在于PHP-FPM中的“ env_path_info”内存损坏问题,使攻击者能够在易受攻击的Web服务器上远程执行任意代码。
幸运的是,并非所有支持PHP的服务器都受到影响,仅启用了PHP-FPM的 NGINX服务器容易受到攻击。
攻击详情
Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 导致 PATH_INFO 为空。而 php-fpm 在处理 PATH_INFO 为空的情况下,存在逻辑缺陷。
攻击者通过精心的构造和利用,可以进行远程代码执行攻击。写入一个Webshell到网站目录下,从而开启后门创建。
简单地说,如果存在如下情况,则容易受到攻击:
NGINX配置为将PHP页面请求转发到PHP-FPM处理器
fastcgi_split_path_info指令存在于配置中,并且包含以'^'符号开头和以'$'符号结尾的正则表达式
PATH_INFO变量是使用fastcgi_param指令定义的
没有诸如try_files $ uri = 404或if(-f $ uri)之类的检查来确定文件是否存在。
PHP官方公告:
https://bugs.php.net/bug.php?id=78599
漏洞复现:
https://github.com/vulhub/vulhub/blob/master/php/CVE-2019-11043/README.md
漏洞exp:
https://github.com/neex/phuip-fpizdam
PHP官方发布最新版本7.3.11和7.2.24,其中包含针对CVE-2019-11043的修复程序。
受此事影响,许多其他虚拟主机提供商也被怀疑正在运行易受攻击的Nginx + PHP-FPM组合。
由于公共PoC代码存在,利用此漏洞将十分容易,因此建议网站所有者在运行时检查服务器配置并尽快更新PHP。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.5amiao.com/baike/1101.html