phpcms中attachment.class.php中getshell漏洞修复方法;
1. 打开/phpcms/libs/classes/中的attachment.class.php文件,找到以下代码;
// 修改之前
function download($field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = '')
{
global $image_d;
$this->att_db = pc_base::load_model('attachment_model');
$upload_url = pc_base::load_config('system','upload_url');
$this->field = $field;
...
替换成;
// 修改之后
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');
}
global $image_d;
$this->att_db = pc_base::load_model('attachment_model');
$upload_url = pc_base::load_config('system','upload_url');
$this->field = $field;
修改前请备份文件。
如果内容有帮助,就点个赞吧!