附件上传会存在很大的安全隐患,你知道吗?
优采云 发布时间: 2021-06-13 18:12附件上传会存在很大的安全隐患,你知道吗?
需要在系统中上传附件是很多系统的需求,有很多技术可以实现这个需求。但是,上传附件可能存在很大的安全隐患,不是每个人都能注意到的。
对于普通附件上传,用户从机器上传文件到服务器web目录,系统记录文件路径,用户下载时,系统读取文件路径,并在页面上输出链接。这个过程存在很大的安全隐患。首先,用户上传的文件没有经过验证,可能是威胁服务器的文件。其次,将文件上传到网络目录。如果用户上传了一些代码,那么他们就可以在 web 目录中运行并为所欲为。另外,不要把上传文件的路径输出到服务器中,否则用户将无法访问。
我曾经在网站论坛上发现过这样的漏洞。它的论坛可以上传头像,但对头像格式没有区别,上传在web目录下,直接输出上传头像的uri。我尝试上传jsp文件,我在程序中编写的文件浏览器。当我访问我在页面下上传的“头像”时,我可以随意浏览服务器中的文件并下载其源代码。当然,我可以做很多其他的事情。虽然我没有,你为什么叫我们守法人?还是提醒论坛主办方关闭头像上传功能。
在我最近的教育系统中,我上传的附件避免了这些因素。首先,在上传过程中进行过滤。不能上传的文件类型不允许上传;其次,上传后,它们可以根据我的规则重命名和命名。甚至可执行文件也无法执行。另外,文件上传目录是可配置的,我没有在web目录下配置,所以和我的数据分开;就近读取时,通过下载程序通过配置的路径读取文件并写入输出流,防止用户直接访问文件。