Flickr的“禁止下载原始图像”功能的安全性如何?


17

Flickr隐私设置页面中,有一个标题为“谁可以访问您的原始图像文件?”的设置。如果我将其设置为除“任何人”之外的任何其他名称(例如“仅您”或“您的联系人”),未经授权的用户是否仍可以访问原始图像而无需他人为其提供URL?(假设我的原始照片大于1024像素,因此有一个与大版本不同的原始版本。还要假设它不是Creative Commons许可的。)

我很清楚,一旦图像出现在他们的浏览器中,确定的用户就可以轻松下载它,而不管浏览器试图摆在哪里的任何不利因素(例如JavaScript阻止程序)。但是,我相信以下是正确的:

  1. 未经授权的用户如果尝试在Flickr上查看“原始大小”页面(例如,此页面),则只会看到错误页面。

  2. 尽管该页面的URL很容易猜到(只需将其添加sizes/o/到常规照片页面URL的末尾),但是实际原始图像文件的URL 具有随机成分,因此不容易被猜到。

很多在Flickr和其他地方的话说,禁止下载设置是无用的,但我还没有看到任何证据。谁能肯定可以绕开它?如果您同意,我希望您将最新图片的原始尺寸发送给我,以证明这一点!(仅适用于朋友和家人-所以您不可以,Goober叔叔...)

一些背景信息:我应该指出,我不是要偷照片,而是想了解地雷的安全性,特别是关于今天报道的地理围栏漏洞


2
请注意,这不是编程问题:我不是在问如何做到。这是一个摄影问题:我想知道我的图像在Flickr上是否安全,或者是否有相反的证据。
马克·惠特克

我可以下载您允许我们看到的任何图像,因此尝试阻止它是毫无用处的。如果不花时间尝试对Flickr进行黑客攻击(并冒着我的帐户风险,甚至坐牢),要说是否可以在未经允许的情况下检索您的原件就不那么容易了。
约翰·卡文

@John是的,您的第一句话是正确的-我在问题中也是如此。我不是要任何人尝试入侵Flickr,只是想知道是否有人看到过已知漏洞的消息。
马克·惠特克

@Mark,好问题。
bw

Answers:


18

我使用自己的flickr帐户和未登录的浏览器自行进行了调查。

是我的一张照片“所有尺寸”页面

在我更改“谁可以访问您的原始图像文件?”之前,在“隐私权和权限”中进行设置后,普通的Internet用户除了可以看到其他大小以外,还可以看到“ 原始 ”链接。该页面具有<img>链接到该URL的标签。“所有尺寸”页面上还有一个链接,指示下载此照片的原始尺寸。(如果检查URL,请注意_d文件名上有一个后缀; Flickr将看到此后缀,并触发HTTP标头,告诉浏览器下载而不显示图像)。

为了进行比较,这是大尺寸页面相应的图像URL

然后,我更改了隐私设置,清除了未登录浏览器中的缓存,并重新检查了链接。这是我发现的:

  • 现在,指向原始大小页面链接将重定向到大尺寸页面。那是合理的。
  • 符合预期,“所有尺寸”页面上不再有“原始尺寸”链接。
  • 我仍然能够下载原始尺寸的图片
    • 这有点令人惊讶。这意味着,尽管对包含图像的页面有访问限制,但是图像本身没有安全性
    • 作为Web开发人员,我可以理解为什么他们可能会这样做。图像很大且是静态的,可能通过内容传送网络提供。不检查图像文件的权限会更快/更高效;您可以通过这种方式将它们简单地托管在“虚拟” Web服务器上。

因此,一旦知道了原始文件的URL,就无法阻止某人下载文件的原始版本(除非完全删除它否则可能甚至行不通。我没有尝试)。

最后一个问题:原始文件URL的可猜测性如何?在这里,它们是并排的:

Large:    http://farm7.static.flickr.com/6126/6044833128_cc02cf41e3_b.jpg
Original: http://farm7.static.flickr.com/6126/6044833128_3b8eac89d7_o.jpg

因此,后缀(_b_o)确定了大小,但是文件名中还有一个元素会随大小而变化。您不能仅将后缀更改为翻转大小。这是后缀切换_o; 的大版本URL;它不起作用。

如果我是Flickr,我将确保该中间元素对于每个照片尺寸而言都是完全随机的,因此除非受到蛮力攻击,否则就毫无疑问。它长40位,因此有很多(2 ^ 40,〜1万亿)可能的选择。任何人都不太可能为了获得文件的原始大小版本而烦恼对该段进行暴力破解……而当他们已经拥有大型版本时。

因此,只要您关闭“原始文件下载”功能并且不共享原始图像的URL,我就说Flickr功能非常安全。如果破裂,那几乎是您自己的错。


6
我的“这是你自己的错”的结论有一个例外。如@Imre所述,Flickr通常使用不安全的HTTP连接,这意味着您的浏览器和Flickr(您的公司,您的ISP)之间的任何人都可以侦听您的URL。如果您浏览“原始尺寸”页面,则将获得原始尺寸图像的URL;攻击者可能会嗅探到这个并保存URL。但是,如果有人正在监听您的HTTP通信,那么与保护Flickr原件安全相比,IMO所面临的问题更大。
Craig Walker

感谢您提供链接,我现在能够验证缓存头!
Imre

2
您甚至不必浏览“原始大小”页面。在Flickr上浏览任何内容,嗅探器就可以帮助您解决刚才使用的会话cookie。
Imre

2
这是一个很好的答案:您的分析方法和明确的解释为+1。我确实知道原始图像URL未经身份验证(即,具有该URL的任何人都可以使用)-这是我的问题(“ 没有人为其提供URL,还是有可能[...] 吗? ”),但感谢明确提及。:)
马克·惠特克

@马克惠特克:非常欢迎。我确实想弄清楚图像的URL和包含图像的页面的URL 之间的区别...尤其是因为确实有附加的权限。
Craig Walker

3

该页面(链接到bill weaver发布的Firefox插件)很好地总结了这种情况,包括我在问题中提到的图像URL中的“随机组件”。

作者指出:

这意味着,即使您难以获得较小尺寸文件之一的文件名,也无法猜测原始照片的文件名,这对于担心图像被盗的摄影师来说是个好消息。

“无法猜测”-太好了!:)但是他接着说:

很棒的事情是,在Flickr随机分配了文件名之后,几乎无法猜测文件原始大小的URL了。

下一步,不可能” -没有那么大!:(但是我想他只是意味着,只要有足够的时间和处理能力,您就可以用蛮力攻击来破解它。


2
我不会担心对您发布的单个图像进行暴力攻击(这并不是说它们不值得:)。更大的担忧(至少对我来说)是,如果发现了其他漏洞,flickr的某个人犯了一个错误并依靠了错误的杠杆,或者他们改变了自己的政策(由于改变了主意,被其他人收购了)想法等)。
bw

2
接近不可能的意图应该不是完全不可能,但是破解随机数生成器将需要在随机数生成器本身中存在一些严重缺陷(并非不可能,不幸的是,我认为与Debian发生了类似的事情,请参阅debian.org/security/ 2008 / dsa-1571),可能在此过程中需要flickr服务器应将其检测为可疑的大量猜测。
Francesco

现在您处于努力/有回报风险的领域,我怀疑Flickr上是否有很多值得承担的风险。这不是对图像质量的评估,只是对重新创建图像的工作量较小,风险较小的评估。广告业也已经做到了。
John Cavan

3

Flickr默认情况下使用非安全Web协议(HTTP),因此,在可以访问图像的人员进行会话劫持之后,可以访问任何图像。对于会话劫持,攻击者需要能够例如通过访问同一无线访问点或某个中间网络节点来窃听受害者的网络流量。Firesheep发布后,在公共无线站点中的风险已经变得相当大-一个Firefox插件可以自动抓取其他人在同一无线区域中使用的cookie,并提供它们以便于使用。

同样,图像带有标头,这些标头允许中间Web缓存将其保留多年。因此,获得浏览Web缓存的访问权限也可能会提供对通过该缓存查看过的原始图像的访问权限。

我不会追踪您或您朋友的网络连接或缓存,所以不会,我不会发送给您您的原始图像。但是为了安全起见,最好的选择是不要上传原始图像。


4
Photo.SE也使用HTTP,因此实际上此帖子可能是由我以外的其他人撰写的:)
Imre

2

如果显示了,当然可以保存它。如果原件受到保护,则除非知道该URL,否则不会。底线很安全不,我不认为它可以下载。

Flickr的原创Firefox插件似乎在第一次做到这一点(我假定被动左右),但实际上下载大尺寸,如果你已经从公众观看受保护的原稿。我已经使用此插件下载了1024 x 580版本的照片。


如果原件设置为不允许,则不行。URL hack已被删除,它使您反弹到现在最大的规模。插件作者也是如此。
约翰·卡文

1
嗯...是的,你是对的,@约翰。我说的“目的”仅基于插件名称中的“原始”来判断。:)
bw

@bill您已经下载了1200px的原始图片?我不这么认为:您链接到的页面显示为“ 警告:这不适用于摄影师已标记为“保留所有权利”或已禁止下载的图像。” 它可能会让您拥有1024px的大版本,但问题与原始大小非常相关。
马克·惠特克

1
就像我说的,@ Mark,我下载了1024 x 580的图片。也许我跳了枪,而我的最初传球却没有说明。但是,是的,它下载的是1024。
bw

1
它将显示为是。:)据我所知,flickr非常重视您对图像的所有权,并谨慎地在共享,公共访问和您的权利之间划分了界限。对此有不同的意见,并且会犯错误,但这是我的整体看法。在另一方面,我不相信这足以上传我的原始图像。
bw

-1

Firefox插件Tamperdata将允许发现图像的受保护URL。这样做是微不足道的。唯一的安全层似乎是晦涩难懂。


3
真?您可以通过下载此图像原始(2400x1600)大小版本来证明它吗?我怀疑您尚未正确阅读问题。
马克·惠特克

-3

这是执行此操作的简单方法(使用Safari),而无需大家扔掉所有的专业术语。转到所有图像页面。启用“开发”下拉菜单后,转到“显示Web检查器”。在开发人员窗口的左侧,查找图像下拉列表。单击该名称,然后查找带有长数字的字符串。当您单击该图像时,该图像将出现在开发人员窗口中。在最右边,您将看到图像URL。将URL复制并粘贴到新的浏览器窗口中,然后图像就会出现,可以从那里下载。或只是将图像从开发人员窗口中拖动。(它的名称可能会更改为“未知”。

我的方法的屏幕截图


3
您或者误解了问题,或者误解了问题。我清楚地说:“我很清楚,一旦图像出现在他们的浏览器中,确定的用户就可以轻松下载它”。您仅下载了大尺寸,而不下载原始尺寸。再次尝试阅读问题,我相信您会明白我的要求。不幸的是,“行话”在那里是有原因的!
马克·惠特克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.