2,502   PHP

getshell一般理解为获取权限,执行代码。比较典型的是上传包含可执行代码的文件,比如在PHP网站中上传.php文件。
利用Laravel框架自建博客时,上传文件的后缀没有做判断,导致可以直接上传.php文件,埋下了getshell漏洞.

 

防止这种漏洞方法:
1,对上传的文件后缀名进行判断

            $file = $request->file('imageLocalInput');
            $fileName        = $file->getClientOriginalName();
            $ext_array = array(
                'png',
                'jpg',
                'jpeg',
                'gif');
                
            $extension       = $file->getClientOriginalExtension();
            // 检查文件后缀名
            if(in_array($extension, $ext_array)){
                 
            }

2,对上传文件的mime类型进行判断

$image_info = getimagesize($file["tmp_name"]);
$mime=$image_info['mime'];
$mime_arr = array(
'image/png',
'image/jpep'
);
if(in_array($mime,$mime_arr)){

}




Leave a Reply

Your email address will not be published. Required fields are marked *