看了很多文章后。我会说,那么我应该怎么做才能通过文件上传来保护我的网站免受黑客攻击呢?
从这些链接:
这个链接说MIME 是无用的,扩展是要走的路。但最后两方只是在争论,如果我是正确的,双方都同意说 MIME 或 EXTENSION 都有安全漏洞。那里有很多仇恨。
这个链接同意说 MIME 也是无用的,扩展也不是 FOOL PROOF,因为 HTML 或 JAVASCRIPT 代码可以插入到 GIF 图像文件(或其他)中,并且可能被 IE 误解,从而导致恶意代码的快速后门入口(我真的希望每个人都投票停止使用 IE。它就像被用作黑客浏览器一样。)
这个链接说要给文件一个不可执行的权限,这样不管它是什么它都不会运行(但这会保护我们免受 xss/html/javascript/etc. 嵌入在图像中的 xss/html/javascript/etc. 就像第二个语句中提到的?如果给文件一个不可执行的权限可以保护我们免受那些嵌入的威胁。它还会保护我们免受其他威胁吗?还有其他形式的黑客可以绕过这种方法吗?)
然后有这个链接说“重新处理图像”其他方法只是“对黑客来说很无聊。 ”。这是一种确定图像是否是图像的可靠方法(IMO,因为 imagick 不会转换非图像对吗?不确定。还没有深入研究。看起来很深)。
那么保护我们的网站免受文件上传威胁的最佳和安全方法是什么?
如果我们检查所有:
- 有效的 MIME 类型
- 有效延期
- GETIMAGESIZE() 检查
- 确保不可执行的权限
- 重新处理图像
这样就够了吗?对于安全的图像文件上传?