允许用户将 URL 作为其图像配置文件是否存在任何风险?

信息安全 Web应用程序
2021-09-01 04:00:46

建立一个网站,我想允许用户指定一个指向图像的 url,该图像将用作个人资料图片(作为 DOM 包含在 HTML DOM 中)。

但在做任何愚蠢的事情之前,我想知道恶意人员是否有可能将其用于其他目的。

据我所知,可以指定一个 .php 文件(例如),它将读取 cookie 会话,然后显示图像。但我没有在 cookie 中存储任何有风险的东西。

还有什么可以做的,这是一个非常(非常)糟糕的选择还是我可以接受?

我发现 IE6 有一个问题,这可能导致 XSS 漏洞利用,但是,它是 IE6,写于 1874 年,对吧?(剧透:我根本不针对 IE6 用户;))

谢谢你的帮助。

2个回答

这种方法实际上存在很多问题:

  • 您需要担心CSRF攻击(有人可以使用http://somesite.com/?q=deleteallmydata并且任何访问该站点的人都会删除他们在 somesite.com 上的数据),并且根据您的代码,您更容易受到XSS攻击。

    这可能很复杂——例如,他们可以先显示一张图片,然后通过重定向切换它。

  • 如果您的站点很忙,它可以用来发动有效的 DDOS 攻击 - 有人可以输入他们不喜欢的某个站点的 URL,可能是以一种运行服务器资源(搜索页面或类似页面)的方式。

  • 对用户图像主机的攻击现在是对您的用户的攻击。

如果您不想处理图像 - 您可能需要考虑一个受信任的主机,例如http://imgur.com/(StackExchange会这样做)来引导您的用户,并将您的 URL 限制在该站点。

一个问题是攻击者可以将图像资源放在 HTTP Basic Auth 后面,并将领域更改为您的站点名称。

大多数情况下,经验不足的用户会兴高采烈地输入他们的密码并将其发送到远程服务器。

如前所述,XSS 也是另一个潜在问题。

从性能的角度来看,有人可以将图像放在速度较慢的网站上,然后您的网站会让您的用户感觉很慢。