PHP远程代码执行漏洞(CVE-2024-4577)解决方案(不升级PHP版本)

2024-11-01 61 0

最近闹得沸沸扬扬的漏洞当属“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
?-

如下图:

20241101122142397

2、限制PHP访问权限

进入“防入侵面板->进程防护”,系统内置了一条进程路径为“*\php-cgi.exe”的防护规则(如下图)。

20241101122143228

点击“更改”,进入“文件访问”选项。先删除存在的“访问路径”规则,并按下述建议顺序添加。

添加规则1:

访问路径:*\temp\*

操作限制:禁止执行

优先级:10

20241101122142215

 

添加规则2:

访问路径:网站目录(注意根据实际路径填写,本文示例为d:\wwwroot\目录)

操作限制:禁止执行

优先级:10

20241101122143447

 

添加规则3:

访问路径:*\conhost.exe

操作限制:禁止新建、禁止改名、禁止修改、禁止删除

优先级:80

20241101122143820

添加规则4:

访问路径:*\werfault.exe

操作限制:禁止新建、禁止改名、禁止修改、禁止删除

优先级:80

20241101122144197

 

添加规则5:

访问路径:*

操作限制:禁止执行、禁止新建、禁止改名、禁止修改、禁止删除

优先级:99

20241101122144851

文件访问规则就添加完成了!

3、添加篡改防护策略

通过上述操作,限制了PHP的访问权限,但对网站还是开放了更改和删除权限,仍然存在危险,因此还需要通过“篡改防护”模块,对每个网站配置防篡改策略。

进入“防入侵面板->篡改防护->添加CMS防护”。选择网站路径,再选择匹配的安全模板(可以点击“自动识别”进行自动匹配),点击“确定”,系统就自动配置好防篡改策略,是不是很简单。

注意每个网站都需要添加防篡改策略。如果没有与您网站相匹配的模板,请联系护卫神官方添加。

20241101122144242

至此,不升级PHP版本,解决PHP远程代码执行漏洞(CVE-2024-4577)的方案,已经成功部署完成,再也不担心黑客入侵了!

    相关文章

    使用PHP获取文件夹中所有文件
    thinkphp8中,数据库的字段是 api_node_id ,值是:多个用英文逗号区分,这种应如何来查询准确的数据取出唯一的主键ID?
    tp(thinkphp6)记录后台操作日志
    ThinkPHP6实现上传图片带水印方法
    ThinkPHP6实现简单的记录网站后台管理操作日志方法
    pbootcms最新版本列表页显示问题修复

    发布评论