Java 通过PHP上传和解析命名二进制标记文件(NBT)的安全性
我正在构建一个处理上传/下载文件(NBT)的应用程序 上传后,我需要解析它们并获取一些信息 我有点担心安全问题,因为我没有必要的知识来正确理解它们是如何构建的,或者期望从中获得什么样的数据Java 通过PHP上传和解析命名二进制标记文件(NBT)的安全性,java,php,security,file-upload,Java,Php,Security,File Upload,我正在构建一个处理上传/下载文件(NBT)的应用程序 上传后,我需要解析它们并获取一些信息 我有点担心安全问题,因为我没有必要的知识来正确理解它们是如何构建的,或者期望从中获得什么样的数据 上传文件时,我可以执行哪些健全性检查,以确保它们确实是NBT文件 在解析它们时,我应该担心吗 如果还有什么我应该关心的,请告诉我 我意识到这些都是模糊的问题。谷歌上没有太多的答案,否则我就不会在这里了。NBT的文件格式非常简单紧凑。它是一个二进制流(未压缩或gzip),由Notch指定 一个“问题”来自特
- 上传文件时,我可以执行哪些健全性检查,以确保它们确实是NBT文件
- 在解析它们时,我应该担心吗
- 如果还有什么我应该关心的,请告诉我
我意识到这些都是模糊的问题。谷歌上没有太多的答案,否则我就不会在这里了。NBT的文件格式非常简单紧凑。它是一个二进制流(未压缩或gzip),由Notch指定 一个“问题”来自特制的NBT文件,其中包含大量空列表和列表列表。。。解析这些项的内存开销可能会导致服务失败(主要是因为为每个项创建的对象只会填满内存) 一种解决方案是限制正在读取的条目数量,当达到该限制时,只需删除已解析的文件 我最近发表了一篇文章(但没有限制),也许它可以帮助您理解该文件格式 编辑:忘记共享此网站关于“漏洞利用”: