2017-07-01 14 views
1

URLからPDFファイルへのhttp URLを受け入れるpython Webアプリケーションがあります。アプリケーションの機能の一部として、ゴーストスクリプトを使用して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 

これは、[OK]を動作しますが、しかし、FortifyはSCAは、「パスの操作」の重大な脆弱性を提供します。これを解決する方法はありますか?有効なpdfファイル名がpdfurlに含まれていることを確認してください。これを解決する良い方法がありますか?

+0

pdfurlのソースは何ですか?しかし、私はあなたが偽陽性であることを合理的に確信しています。pdfurlがユーザーから来ない場合は、Fortifyで偽陽性とマークします。 – Vetsin

+0

Pdfurlはユーザーから来ています – Anthony

答えて

1

Ghostscriptはローカルに保存されたファイルを必要とせず、stdin経由でパイプされたデータを受け入れることができます。その後、ファイルのローカルな一時コピーが作成されます(PDFファイルにはランダムアクセスが必要です)が、それは容認できるものと思われます。

もちろん、それでもstdin経由でGhostscriptにPDfファイルをパイプする問題が残っていますが、どうやってそれを行うのか分かりません。

関連する問題