阿里云 phpcms v9某处逻辑问题导致getshell漏洞解决方法

这个漏洞文件地址是/phpcms/libs/classes/attachment.class.php

出现这个问题主要是没有验证$ext进行类型验证,那就搜索一下参数$ext,大概在143行方法 function download($field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = '')

解决方法如下:

在方法最上面添加如下代码

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

注意:这里要根据自己网站附近的上传类型自己添加判断。

分享到:更多 ()

抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址