是否可以通过上传/上传文件来攻击服务器?

时间:2013-10-14 16:36:59

标签: java mysql jpa upload

标题实际上说明了问题。在你弄错我之前,我不想知道如何做到这一点,但我如何阻止

我想写一个文件上传器(用Java和JPA和MySQL数据库)。由于我还不完全确定内部管理,因此有可能在某些时候文件可以在内部执行/打开。

因此,我很高兴知道,有什么,攻击者可以通过上传任何类型的文件来伤害,感染或操纵我的系统,可能是媒体文件,二进制文件等等。 / p>

例如:

  • 文件名中的特殊字符怎么样?
  • 如何操作EXIF这样的元数据?
  • 像MP3文件一样的“嵌入式病毒”呢?

我希望这不是太模糊,我很乐意阅读你的提示和提示。

最好的问候,
Stacky

2 个答案:

答案 0 :(得分:1)

这真的非常适合特定应用。如果你使用像phpBB这样的特定网络应用程序,那么与运行新闻组相比,安全需求完全不同。如果您需要定制的安全建议,则需要根据您正在进行的操作的上下文进行搜索。它可能包括清理输入,限制上传大小和格式。

例如,MP3文件病毒可能仅适用于少数特定的MP3播放器。不是全部。

无论如何,如果您希望广泛覆盖病毒,请使用病毒扫描程序扫描文件,但这可能无法保护您免受脚本注入等操作。

答案 1 :(得分:1)

如果您的服务器没有做固有的愚蠢,那么应该没有问题。但...

由于我还不完全确定内部管理,因此有可能在某些时候内部执行/打开文件。

......这有资格作为天生愚蠢的。您以确保您不会意外执行上传的文件(上传目录的权限是起点,将上传限制到特定目录等。)

除了执行之外,如果服务器尝试任何特定于文件类型的处理(例如,制作图像的缩略图),则总是有可能通过缓冲区溢出攻击来攻击处理(这些特定于每种类型的软件/库) )。

只保存存储/提供文件的纯文件服务器(例如FTP)(当没有其他漏洞时)。