问题说明:知识付费系统存在任意文件删除方法,可以删除系统任意文件
解决方法:限制删除目录
修改文件:extend/service/UtilService
修改方法:rmPublicResource()
    /**
     * 删除公告资源
     * @param $url
     * @return \StdClass
     */
    public static function rmPublicResource($url, $isPath = false)
    {
        $path = $isPath ? $url : realpath(self::urlToPath($url));
        if (!$path) return JsonService::fail('删除文件不存在!');
        if (!file_exists($path)) return JsonService::fail('删除路径不合法!');
        if(0 !== strpos($path,ROOT_PATH.'public/uploads/') || 0 === strpos($path,ROOT_PATH.'public/uploads/config/file/')) return JsonService::fail('删除路径不合法!');
        if (!unlink($path)) return JsonService::fail('删除文件失败!');
        return JsonService::successful();
    }
 
                         
                         
                     
                         
                     
                     
                     
                     
                     
                             
                                    
 
                                         
                                     
                 
                         
                     
                 
         
         
             
         
         
         
		