【问题标题】:How to avoid path traversal security vulnerability如何避免路径遍历安全漏洞
【发布时间】:2017-07-01 09:33:13
【问题描述】:

我有一个 python Web 应用程序,它接受来自 URL 的 PDF 文件的 http URL。作为应用程序的一部分,它需要使用 ghost 脚本将 PDF 转换为 TIFF 图像。为此,需要将 PDF 保存在本地。所以要做到这一点,我使用 urllib 像这样:

testfile = urllib.URLopener()
pdf_destination = os.path.join(self.options.storefolder, self.options.uniquecode+".pdf")
testfile.retrieve(pdfurl, pdf_destination) //Fortify vuln. found here

这可以正常工作,但是,Fortify SCA 提供了“路径操纵”的严重漏洞。有没有办法解决这个问题?我是否应该确保 pdfurl 包含有效的 pdf 文件名?还是有更好的方法来解决这个问题?

【问题讨论】:

  • pdfurl 的来源是什么?但我有理由确定您有误报,如果 pdfurl 不是来自用户,请在 Fortify 中将其标记为误报。
  • Pdfurl 确实来自用户

标签: python security ghostscript fortify path-manipulation


【解决方案1】:

Ghostscript 不需要本地保存的文件,它可以接受通过标准输入管道传输的数据。然后它会创建文件的本地临时副本(因为 PDF 文件需要随机访问),但我认为这是可以接受的。

当然,这仍然给你留下了通过标准输入将 PDf 文件传送到 Ghostscript 的问题,我不知道你会怎么做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2022-08-16
    • 2019-05-05
    相关资源
    最近更新 更多