Src图像和安全性

时间:2011-11-25 22:50:04

标签: php security image src

如果我让用户将链接插入到他们自己的主机图像中,我是否需要防止出现任何类型的安全问题?

为了更好地发布,<img src="somedomain/somefile"/>在哪种情况下应该使我的网站容易受到攻击?

2 个答案:

答案 0 :(得分:4)

允许任意图像URL的一个潜在问题是图像的主机可以跟踪所有视图和IP地址。在流量很小的论坛中,可以将图像主机放在能够识别特定用户IP地址的位置。

另一个原因是您无法控制图像中显示的内容。图像资源可以是动态的,并且可以在任何给定时间向任何用户显示任何内容。

然后,图像利用访问者浏览器或图像库中的漏洞存在极大的风险。但是这些非常很少见,而且可能会很快得到修补 - 我自己只知道one instance这种情况发生在更大范围内。

堆栈溢出是一个巨大的范围,流量仍然允许外部图像 - 从中​​我倾向于推断风险是可管理的。

但是,如果你想确定,你最好取出图像资源,使用图像库复制它(以确保它是一个真实的图像并去除任何敏感的元数据),并将其存储在你的服务器

答案 1 :(得分:2)

此外,如果您在标记中插入简单的字符串,则可能会关闭图像标记并启动脚本标记或类似内容。因此,您应该以用户设置此类图像src属性的任何形式观看脚本注入。

例如,如果图像src设置为:

myimagefile.jpg" /><script> ... </script>

你可以看到它如何完全摆脱图像标签,并开始在脚本标签中做其他事情。你需要确保他们输入的内容实际指向图像,然后再保存并开始在实时页面上写出来。

这种脚本注入方式可以从页面上的表单中读取(可能包括个人信息,登录详细信息或会话ID),并使用jsonp将最终用户信息发送回一些糟糕的黑客数据收集点。