这个2026年10月爆出两个PHP核心RCE漏洞,代号PHP2Shell,没有php.ini缓解和WAF规则可以完全拦截!
攻击者无需登录即可远程执行代码,唯一修复手段:升级 PHP版本!
目前官方只出了以下升级补丁:
PHP 8.2 → 升级到8.2.35
PHP 8.3 → 升级到8.3.36
PHP 8.4 → 升级到8.4.27
PHP 8.5 → 升级到8.5.12
而PHP7/PHP5服务器高危目前无补丁,PHP7/PHP5临时缓解方案请看后面内容
攻击者只要向任意php页面发送特制HTTP multipart请求,在 PHP 解析请求阶段就触发内存UAF,在业务代码执行前拿下代码执行权限。
拿到的是php-fpm /fastcgi进程权限,虽然不是直接root或系统管理员,如果服务器对PHP进程做了严格降权、chroot、容器隔离,黑客拿到权限后的横向渗透会变难,但网站文件、数据库凭据大概率会泄露。
PHP7/PHP5临时缓解方案:
1、漏洞根源在 PHP 内核,不存在100%可靠的WAF拦截规则,社区提出关闭upload_progress只是临时缓解,不能保证完全阻断:
关闭upload_progress方法,修改php.ini文件:
将
;session.upload_progress.enabled = On
修改为
session.upload_progress.enabled = Off
PHP-FPM可以单独设置:
php_admin_flag[session.upload_progress.enabled] = off
注意:该参数不能完全防御两个漏洞,只是提高利用难度,不能当成补丁。
-----------------------------------------------------------
2、在php.ini中禁用危险函数(仅PHP环境加固,和本次漏洞无关):
disable_functions =exec,system,passthru,popen,pclose,shell_exec,proc_open,dl,chmod,escapeshellarg,escapeshellcmd,sh2_exec,proc_terminate,pcntl_setpriority,pcntl_getpriority,pcntl_signal,pcntl_fork,apache_setenv,imap_open,syslog,openlog,pcntl_exec
----------------------------------------------------------
3、如果是Windows搭建的PHP环境可以用冰盾主动防御系统iDefender对PHP进程和PHP相关文件做几个自定义规则
限制PHP进程和PHP相关文件访问执行类(exe/cmd等等)文件 防止服务器被提权入侵 但是无法防止黑客获取网站数据
Defender规则参考:
进程规则:php-cgi.exe/php-fpm.exe禁止创建子进程:cmd.exe、powershell、pwsh、wmic、certutil、bitsadmin、reg.exe等等
文件规则:限制php进程写入网站目录的php/asp/aspx文件和执行文件(exe/cmd等等),阻断写webshell
文件访问规则:限制php和数据库相关文件(php-cgi.exe、php-fpm.exe、mysqld.exe等等)访问任何执行文件(exe/cmd等等)
攻击者无需登录即可远程执行代码,唯一修复手段:升级 PHP版本!
目前官方只出了以下升级补丁:
PHP 8.2 → 升级到8.2.35
PHP 8.3 → 升级到8.3.36
PHP 8.4 → 升级到8.4.27
PHP 8.5 → 升级到8.5.12
而PHP7/PHP5服务器高危目前无补丁,PHP7/PHP5临时缓解方案请看后面内容
攻击者只要向任意php页面发送特制HTTP multipart请求,在 PHP 解析请求阶段就触发内存UAF,在业务代码执行前拿下代码执行权限。
拿到的是php-fpm /fastcgi进程权限,虽然不是直接root或系统管理员,如果服务器对PHP进程做了严格降权、chroot、容器隔离,黑客拿到权限后的横向渗透会变难,但网站文件、数据库凭据大概率会泄露。
PHP7/PHP5临时缓解方案:
1、漏洞根源在 PHP 内核,不存在100%可靠的WAF拦截规则,社区提出关闭upload_progress只是临时缓解,不能保证完全阻断:
关闭upload_progress方法,修改php.ini文件:
将
;session.upload_progress.enabled = On
修改为
session.upload_progress.enabled = Off
PHP-FPM可以单独设置:
php_admin_flag[session.upload_progress.enabled] = off
注意:该参数不能完全防御两个漏洞,只是提高利用难度,不能当成补丁。
-----------------------------------------------------------
2、在php.ini中禁用危险函数(仅PHP环境加固,和本次漏洞无关):
disable_functions =exec,system,passthru,popen,pclose,shell_exec,proc_open,dl,chmod,escapeshellarg,escapeshellcmd,sh2_exec,proc_terminate,pcntl_setpriority,pcntl_getpriority,pcntl_signal,pcntl_fork,apache_setenv,imap_open,syslog,openlog,pcntl_exec
----------------------------------------------------------
3、如果是Windows搭建的PHP环境可以用冰盾主动防御系统iDefender对PHP进程和PHP相关文件做几个自定义规则
限制PHP进程和PHP相关文件访问执行类(exe/cmd等等)文件 防止服务器被提权入侵 但是无法防止黑客获取网站数据
Defender规则参考:
进程规则:php-cgi.exe/php-fpm.exe禁止创建子进程:cmd.exe、powershell、pwsh、wmic、certutil、bitsadmin、reg.exe等等
文件规则:限制php进程写入网站目录的php/asp/aspx文件和执行文件(exe/cmd等等),阻断写webshell
文件访问规则:限制php和数据库相关文件(php-cgi.exe、php-fpm.exe、mysqld.exe等等)访问任何执行文件(exe/cmd等等)
文章来源:
网络小编D
版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站立刻删除。
