标题实际上说明了问题。在你弄错我之前,我不想知道如何做到这一点,但我如何阻止。
我想写一个文件上传器(用Java和JPA和MySQL数据库)。由于我还不完全确定内部管理,因此有可能在某些时候文件可以在内部执行/打开。
因此,我很高兴知道,有什么,攻击者可以通过上传任何类型的文件来伤害,感染或操纵我的系统,可能是媒体文件,二进制文件等等。 / p>
例如:
我希望这不是太模糊,我很乐意阅读你的提示和提示。
最好的问候,
Stacky
答案 0 :(得分:1)
这真的非常适合特定应用。如果你使用像phpBB这样的特定网络应用程序,那么与运行新闻组相比,安全需求完全不同。如果您需要定制的安全建议,则需要根据您正在进行的操作的上下文进行搜索。它可能包括清理输入,限制上传大小和格式。
例如,MP3文件病毒可能仅适用于少数特定的MP3播放器。不是全部。
无论如何,如果您希望广泛覆盖病毒,请使用病毒扫描程序扫描文件,但这可能无法保护您免受脚本注入等操作。
答案 1 :(得分:1)
如果您的服务器没有做固有的愚蠢,那么应该没有问题。但...
由于我还不完全确定内部管理,因此有可能在某些时候内部执行/打开文件。
......这有资格作为天生愚蠢的。您有以确保您不会意外执行上传的文件(上传目录的权限是起点,将上传限制到特定目录等。)
除了执行之外,如果服务器尝试任何特定于文件类型的处理(例如,制作图像的缩略图),则总是有可能通过缓冲区溢出攻击来攻击处理(这些特定于每种类型的软件/库) )。
只保存存储/提供文件的纯文件服务器(例如FTP)(当没有其他漏洞时)。