如何避免路径遍历安全漏洞

时间:2017-07-01 09:33:13

标签: python security ghostscript fortify path-manipulation

我有一个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给出了“Path Manipulation”的一个关键漏洞。有办法解决这个问题吗?我应该确保pdfurl包含有效的pdf文件名吗?还是有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

当然,这仍然存在通过stdin将PDf文件传递到Ghostscript的问题,我不知道你会怎么做。