问题说明:知识付费系统存在任意文件删除方法,可以删除系统任意文件
解决方法:限制删除目录
修改文件: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();
}