PHPCMS漏洞之逻辑问题导致getshell的解决方法

这篇文章将为大家详细讲解有关PHPCMS漏洞之逻辑问题导致getshell的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

关于phpcms某处逻辑问题导致getshell的修复问题

简介:
1. 漏洞名称:phpcms某处逻辑问题导致getshell
2. 补丁文件:/phpcms/libs/classes/attachment.class.php
3. 补丁来源:云盾自研
4. 漏洞描述:phpcms的/phpcms/libs/classes/attachment.class.php中,对输入参数$ext未进行类型限制,导致逻辑漏洞的产生。
【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了
底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况
可选择忽略该漏洞提示】
…
阿里云漏洞提示。

解决办法:

1.根据漏洞描述,找到对应文件attachment.class.php的对应位置(第144行附近),并添加补丁代码。

补丁代码如下:

if($ext !== 'gif|jpg|jpeg|bmp|png'){
    if(!in_array(strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) exit('附加扩展名必须为gif、jpg、jpeg、
    bmp、png');
}

添加后的代码,截图如下:

PHPCMS漏洞之逻辑问题导致getshell的解决方法

2.然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖;

3.最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。

PHPCMS漏洞之逻辑问题导致getshell的解决方法

关于PHPCMS漏洞之逻辑问题导致getshell的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。