【发布时间】:2017-07-18 21:49:22
【问题描述】:
我有一个自定义的 php Web 应用程序,用户可以在其中上传图像。 我知道图像文件存在安全问题,因为黑客可以向其中添加恶意代码并通过图像文件的 url 触发它们。
所以我不再将图像存储在 Web 服务器中并将它们直接上传到 Amazon S3。我想知道即使图像文件存储在像 Amazon S3 这样完全独立的地方,黑客是否仍然有可能使用恶意图像获得相同的结果。
【问题讨论】:
-
某人如何从图像文件的 URL 触发代码?他们可以将脚本存储为具有图像扩展名的文件,然后运行该脚本,但如果您的代码通过
IMG标记引用图像,那么它将不会执行代码。您能否澄清您的担忧,最好参考对漏洞利用的解释? -
@JohnRotenstein 我很确定他在谈论内容类型嗅探,您可以在其中将代码嵌入图像中,网络浏览器将查看第一个字节,如果它认为它是代码,然后它会假定它是代码并执行其内容。
-
在高层次上,图像存在两种类型的漏洞,服务器端和客户端。在服务器端,如果您正在处理图像,无论您将图像存储在何处,黑客都会利用 imagemagick 等软件中的漏洞,因此您的服务器会受到损害。在客户端,如果您只是提供具有正确内容类型的图像,通常是浏览器漏洞。验证您的输入文件并为您的服务器软件和库打补丁。
标签: amazon-web-services security image-processing amazon-s3