2017-07-01 147 views
1

我有一個接受一個HTTP URL從URL PDF文件蟒蛇Web應用程序。作爲應用程序的一部分,它需要使用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文件名嗎?還是有更好的方法來解決這個問題?

+0

什麼是pdfurl源?但我有理由相信你有一個假陽性,這標誌着作爲Fortify的假陽性,如果pdfurl不從用戶來的。 – Vetsin

+0

Pdfurl確實來自用戶 – Anthony

回答

1

的Ghostscript不需要在本地保存的文件,它可以接受通過標準輸入管道中的數據。然後創建文件的本地臨時副本(因爲PDF文件需要隨機訪問),但我認爲這是可以接受的。

當然,這仍然讓你通過管道標準輸入PDF文件的Ghostscript到的問題,我不知道你會怎麼做。