最近闹得沸沸扬扬的漏洞当属“PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)”,该漏洞可以执行任意代码,且自 5.x 以来所有版本均受影响,非常恐怖!
经过研究分析,护卫神安全团队发现,该漏洞是利用WebServer对个别特殊字符过滤不严引起的。具体的分析过程由于风险原因,我们无法对外公布,敬请谅解!
下面我们讲解如何在不升级PHP版本的情况下,杜绝该漏洞。当然,PHP5.x也没法升级新版本。
一、官方建议方案
PHP项目维护团队已经发布新补丁,修复了存在于 PHP for Windows 中的远程代码执行(RCE)漏洞,并敦促用户尽快更新至 6 月 6 日发布的 8.3.8、8.2.20 以及 8.1.29 版本。
那么问题来了,PHP5和PHP7怎么办呢?显然官方没有给出解决办法。
二、护卫神建议方案
护卫神安全团队给出的方案是“杜绝特殊字符、限制PHP访问权限”,从根本上解决问题。无需升级PHP版本,解决PHP5.x、PHP7.x没有新版本的难题。
要实施该方案,需要使用一款名为“护卫神·防入侵系统”的软件,软件地址:https://www.hws.com/soft/frq/
通过该软件的“进程防护”模块,限制PHP的文件访问权限;再通过“网站防护”模块,杜绝特殊字符访问。
下面我们就开始部署吧。
1、杜绝特殊字符访问
进入“防入侵面板->网站防护->黑白名单->URL黑白名单-URL黑名单”,添加两条规则:
?%ad
?-
如下图:
2、限制PHP访问权限
进入“防入侵面板->进程防护”,系统内置了一条进程路径为“*\php-cgi.exe”的防护规则(如下图)。
点击“更改”,进入“文件访问”选项。先删除存在的“访问路径”规则,并按下述建议顺序添加。
添加规则1:
访问路径:*\temp\*
操作限制:禁止执行
优先级:10
添加规则2:
访问路径:网站目录(注意根据实际路径填写,本文示例为d:\wwwroot\目录)
操作限制:禁止执行
优先级:10
添加规则3:
访问路径:*\conhost.exe
操作限制:禁止新建、禁止改名、禁止修改、禁止删除
优先级:80
添加规则4:
访问路径:*\werfault.exe
操作限制:禁止新建、禁止改名、禁止修改、禁止删除
优先级:80
添加规则5:
访问路径:*
操作限制:禁止执行、禁止新建、禁止改名、禁止修改、禁止删除
优先级:99
文件访问规则就添加完成了!
3、添加篡改防护策略
通过上述操作,限制了PHP的访问权限,但对网站还是开放了更改和删除权限,仍然存在危险,因此还需要通过“篡改防护”模块,对每个网站配置防篡改策略。
进入“防入侵面板->篡改防护->添加CMS防护”。选择网站路径,再选择匹配的安全模板(可以点击“自动识别”进行自动匹配),点击“确定”,系统就自动配置好防篡改策略,是不是很简单。
注意每个网站都需要添加防篡改策略。如果没有与您网站相匹配的模板,请联系护卫神官方添加。
至此,不升级PHP版本,解决PHP远程代码执行漏洞(CVE-2024-4577)的方案,已经成功部署完成,再也不担心黑客入侵了!