【问题标题】:Is allowing PDF file uploads from users of my web app a security risk?允许我的 Web 应用程序的用户上传 PDF 文件是否存在安全风险?
【发布时间】:2016-03-30 16:18:31
【问题描述】:

我维护了一个小的open-source Flask extension,它使处理文件上传更方便。

其中一个功能是开箱即用,它提供了文件类型组,例如图像、文档等,以便开发人员可以轻松地修改该组中所有文件扩展名的行为。

我收到了几个要求将*.pdf 包含在documents group 中的请求。

这是安全风险吗?

我似乎记得在有人打开恶意 PDF 的那一天发生的一些黑客行为。

文档组已包含 .doc、.docx、.odf、.xlsx 等文件

【问题讨论】:

  • .doc 和 .xlsx 是一个更大的安全风险。任何来源不明的文件都应小心处理。
  • 明白了,我继承维护者角色的时候已经这样了。只是试图验证我没有打开一个通常被利用的新向量,即使开发人员采取了合理的谨慎态度。

标签: python security pdf file-upload


【解决方案1】:

影响文件格式风险的因素之一是有多少“读者”实际上可以打开该格式。安全风险不一定存在于格式本身,它存在于打开文件并且不以“防御性”方式读取该文件的程序中(例如,打开自身以导致缓冲区溢出)。

例如,历史上只有 Microsoft Word 可以打开 .doc 文件,这意味着如果在 Microsoft Word 中发现漏洞,所有 .doc 用户都会受到影响。因此,从历史上看,许多攻击都是针对 .doc 格式的。

PDF 拥有非常广泛的阅读器(Adobe、内置 Chrome PDF、内置 Firefox PDF、内置 Gmail PDF->HTML 渲染器、Fox-it、Evince 等)。 PDF 本身应该是安全的,并且由于 PDF 阅读器的种类繁多,恶意黑客更难以使用 PDF 进行攻击。还有更多“容易实现的”文档格式。

【讨论】:

  • 很好的答案。我没有想过漏洞是如何依赖于客户端的,而不仅仅是格式。
猜你喜欢
  • 2012-01-03
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多