web-dev-qa-db-ja.com

これはZip暗号化のバグですか?

私は最近、エクスプロイトを発見しました。私(またはだれかを想定)は、パスワードを知らなくても暗号化されたZipファイルを再暗号化できます。

#Zip --encrypt encrypted.Zip -r dir1/

上記は、ユーザーにnewパスワードの入力を要求します。何か足りないものはありますか、それとも既知の問題ですか?

13
lamino

Zipアーカイブには、含まれているさまざまなファイルに対して複数のパスワードを設定できます。アーカイブ内のファイルは基本的に相互に独立しています。他のファイルに関係なく圧縮され、同じ方法で暗号化されます。きみの encrypted.Zipには2つ(またはそれ以上)の暗号化されたセグメントがあり、1つは元のパスワード、もう1つは新しいパスワードです。

ファイルをunzipにしようとすると、両方のパスワードの入力を求められます。

$ unzip ../test.Zip
Archive:  ../test.Zip
[../test.Zip] file1 password:
  inflating: file1
  inflating: file2
[../test.Zip] newfile password:
  inflating: newfile

ファイル名のリストであるディレクトリは暗号化されていません。これはバグではありませんが、混乱する可能性があり、すべてのZipツール(特にグラフィカルツール)が状況をうまく処理できるわけではありません。

40
Michael Homer