web安全 文件上传风险

描述 

 

 

无论编写程序所用的语言是什么,最具破坏性的攻击通常都会涉及执行远程代码,攻击者借此可在程序上下文中成功执行恶意代码。如果允许攻击者上传文件到公开的可执行目录中,则他们可以让这些文件中包含的恶意代码在服务器上执行。

即使程序将上传的文件存储在一个无法公开访问的目录中,攻击者仍然有可能通过向服务器环境引入恶意内容来发动其他攻击。如果程序容易出现 path manipulation、commandinjection 或 remote include 漏洞,那么攻击者就可能上传带恶意内容的文件,并利用另一种漏洞促使程序读取或执行该文件。

 

解决方法:

 

如果可以避免附件,请不要接受它们。如果程序必须接受附件,则应当只接受程序所需的特定类型的内容,从而阻止攻击者提供恶意内容。依赖于上传内容的攻击通常要求攻击者能够提供他们自行选择的内容。限制程序能够接受的内容,可以在最大程度上限制可能被攻击的范围。检查文件名、扩展名和文件内容,确保它们都是应用程序所需的,并可供应用程序使用。使攻击者难以确定上传文件的名称和位置。这种解决方法通常是因程序而异的,并且在以下几个方面各不相同:将上传的文件存储在一个目录中(目录名称是在程序初始化时通过强随机值生成的)、为每个上传的文件分配一个随机名称,以及利用数据库中的条目跟踪这些文件

 

最后欢迎大家访问我的个人网站:1024s

你可能感兴趣的:(系统安全性和保密性)