問題の概要:
- web-from 経由でZIP ファイル (および
tgz
さらに圧縮されたディレクトリ ツリー) をアップロードできるようにする必要があります - コンテンツ処理のためにzipファイルを抽出する必要があります
- 抽出にArchive::Extractを使用する予定
- ここにはZIP BOMBSのようなものがあります...
説明書より
Archive::Extract は、純粋な perl モジュールまたは内部でコマンド ライン プログラムを使用できます。一部の純粋な perl モジュール (Archive::Tar や Compress::unLZMA など) は、アーカイブの内容全体をメモリに取り込みますが、これはシステムでは実行できない場合があります。グローバル変数 $Archive::Extract::PREFER_BIN を 1 に設定することを検討してください。これにより、コマンド ライン プログラムの使用が優先され、メモリをあまり消費しなくなります。
質問は次のとおりです。
- を設定すると、
$Archive::Extract::PREFER_BIN = 1
ZIP-BOMB のようなものに対して十分に保護されますか? $Archive::Extract::PREFER_BIN は大量のメモリ使用から私を保護します - しかし、標準
unzip
のtar -z
unrar
バイナリは、zip 爆弾のような攻撃に対して安全ですか?そうでない場合 - アップロードされた圧縮ファイルを安全に処理するには
directory tree
? (したがって、ここでは、 eg 内のファイルが1つだけではありませんzip archive
)。