安全处理上传的图像

时间:2013-01-18 09:44:39

标签: image security file-upload

我正在阅读这篇文章,关于如何保护我的网站免受我在这些线路上停止的攻击者的攻击,我试图找出它们的含义

  

您不能依赖文件扩展名或mime类型来验证该文件是否为图像       因为这些很容易被伪造。甚至打开文件并读取标题或使用       检查图像大小的功能不是完全证明。大多数图像格式允许存储       注释部分,可能包含可由服务器执行的PHP代码。

大多数图片格式允许存储评论部分是什么意思?

link:http://www.netmagazine.com/features/10-essential-security-tips-protect-your-site-hackers

1 个答案:

答案 0 :(得分:0)

嗯,就像你可以在MP3文件中存储注释一样,很多图像格式也为注释留出空间。注释只是用于描述文件的一小段文本。

现在很多应用程序都能从很多不同的文件类型中提取一些信息,而且风险在于你的PHP代码从图像文件中提取注释(一个相对简单的任务)可能会运行将注释中存储的任何PHP代码合并到PHP代码中的风险。

基本上,这利用了PHP中的一个bug,类似于SQL注入漏洞。但是,大多数HTTP服务器在发送图像时都会将它们作为二进制文件发送,因此您不必过于担心网页上的图像文件是一种威胁。

确保您所做的任何图片工作都不会尝试解释评论部分,而是将其传递给格式化程序/清理程序,以确保图片评论部分的内容(如果已检索)不会仅插入显示它时的HTML。