Web内存漏洞及其原理分析与防范方法(安全文件存储方法)的探讨
这种漏洞主要是读取用户输入路径的名称,并使用不正确的过滤方法使恶意用户将文件保存到意外的地方,从而带来安全隐患。事实上,我们可以抓住几个地方。首先,我们将分析,因为用户需要存储文件,文件将是各种格式。可能有些文件与用户的输入格式不一致,有些文件包含木马,所以我们让用户保存文件,对站点文件进行单独授权,并隔离它。
保持保存的目录独立,目录权限不能只读。
这一步是由系统设计授权的,不管您的最后一个文件是什么,都不可能执行它,即使我不进行任何测试,您的文件也会存储在这里,对我的系统来说是不安全的。
不直接使用服务器传入值,所有都应该被检测到。
这种类型的输入与我们所做的所有有害的原则一样,客户机的客户机:类型,名称,应该被判断,而不是直接使用。
命名文件的最佳方式是写死目录(不要读取传入目录),文件的名称,最好是随机生成它,不要读取用户文件的名称。文件扩展名,你可以选择右边。后来的人物。
以上2种方法,仅从2个方面进行整体制约。
方法2:保存文件名,将其写入自己的目录中,并且文件的名称是由其自身生成的。
方法1:只要文件是写在正确的位置上,然后从配置中,写目录是受控的。这是解药,你可以做,不管你保存什么文件,你都没有跳出来跑的许可。
上述2种方法一起使用,可以确保文件的正确储存,然后权力是可以控制的。在这里,顺便说一下,确定存储在文件类型直接是否满足要求的用户,检查文件的扩展名,只要扩展。无论如何,如果你执行极限,你不想保存内容的要求,它不会伤害你。在任何情况下,不能进行,它将不会有太大的伤害。
正确的步骤:
1。读取文件名以验证扩展是否在范围内。
2。由自己生成的文件名、目录和扩展名可以来自文件的名称扩展。其他值由它们自己配置,不读取内存中的内容。
三.将文件移动到新目录(目录权限设置为只读)
以上是一般的操作方法,希望对您有所帮助,也欢迎各位朋友交流!也希望能提供一个更好的方法!接下来,我将继续写一些我对Web开发中功能性安全设计常用方法的想法和看法。