通过 POST 表单上传文件时的文件路径注入


File path injection on file upload via form POST

我在Apache服务器上设置了一个Symfonfy框架。假设在客户端,我伪造了一个文件上传请求并将其 POST 到我指定的端点。如果在此请求中将文件名字段设置为"../../file.png",前提是服务器上允许 MIME 类型?

是否可以知道作为处理请求的一部分,容器或框架是否从文件名中删除了路径?我最终会在后端获得 $request->files->all() 的干净版本,该版本不会受到路径注入的影响,还是我必须自己清理它?

您始终必须清理上传的文件名。永远不要相信用户发送的内容。

请参阅 http://symfony.com/doc/current/cookbook/controller/upload_file.html

3. 众所周知的安全最佳实践是永远不要信任用户提供的输入。这也适用于访问者上传的文件。