使用phpcms v9建站,放在阿里云服务器上,经常发送修复漏洞通知,今天B5教程网解决一下这个漏洞,分享给大家。这个漏洞文件地址是 phpcms libs classes attachment class php

使用phpcms v9建站,放在阿里云服务器上,经常发送修复漏洞通知,今天B5教程网解决一下这个漏洞,分享给大家。

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

我们看一下阿里云的具体漏洞说明如下图:


现这个问题主要是没有验证$ext进行类型验证,那就搜索一下参数$ext,大概在143行方法

function download($field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = '')

解决方法如下:

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

$extArray=explode('|',$ext); 
if(!empty($extArray) && is_array($extArray)){ 
   foreach($extArray as $k => $v){ 
   if(!in_array(strtolower($v), array('gif','jpg','jpeg','bmp','png'))); exit('0');//循环判断如果有一个不符合,直接返回 0 
   } 



注意:这里可以获取网站配置里的附件上传类型来判断,我这里是写死的,仅供参考。

About share! 这篇文章可能是转载但没有具体作者信息和详尽的出处所以本站不写,详情查看FAQ.