安全问题?

mis*_*ero 3 php security

我正在编写一个小型PHP应用程序,我不确定是否存在安全问题.这就是应用程序的作用:

  • 用户可以上传图像文件(png,gif,jpg,jpeg,tiff和其他几个)或zip文件

我检查mime类型和扩展名,如果不允许,我不允许上传(这不是我担心的部分).

现在,一旦上传,我将文件重命名为唯一的哈希并存储在root访问权限之外的文件夹中.

用户现在可以通过短URL访问该文件.我通过为标题设置正确的mime-type来使文件可访问,然后我只使用readfile().

我的问题是图像文件中包含jar文件的漏洞利用是否适用于此?我将图像作为纯图像提供.

如果有什么办法可以防止这种情况发生?

谢谢.

Vin*_*vic 5

MIME类型检查不会解决GIFAR问题.2009年的JRE已经打补丁,但如果你想解决这个问题,你也可以

  • 从不同的域提供您的图像
  • 运行服务器端的代码来检查,如果图像包含一个有效的JAR,就像提到这里

除了将文件拒绝到具有足够旧JRE的任何支持Java的浏览器之外,其他任何事情都可能在特定情况下失败.

还要记住,要使用这种技术进行良好的攻击,您的服务器基础架构必须有点开放(请求来自同一域的事实并不意味着您应该提供它要求的任何信息.)