这是一个 zip 加密错误吗?

lam*_*ino 13 encryption zip

我最近发现了一个漏洞,我(或假设任何人)可以在其中重新加密我加密的 zip 文件,而无需知道密码:

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

以上将提示用户输入密码。是否有我遗漏的东西,或者这是一个已知问题?

Mic*_*mer 41

Zip 档案可以为不同的包含文件设置多个密​​码。存档中的文件基本上是相互独立的——它们被压缩而不考虑其他文件,并且它们以相同的方式加密。您encrypted.zip将拥有两个(或更多)加密段,一个是您的原始密码,另一个是新密码。

尝试unzip该文件会提示输入两个密码:

$ unzip ../test.zip
Archive:  ../test.zip
[../test.zip] file1 password:
  inflating: file1
  inflating: file2
[../test.zip] newfile password:
  inflating: newfile
Run Code Online (Sandbox Code Playgroud)

目录,即文件名列表,未加密。这不是错误,尽管它可能会令人困惑,而且并非所有 zip 工具都能很好地处理这种情况(尤其是图形工具)。

  • *文件名列表的目录未加密* - 这就是为什么目录列表也很敏感的情况通常会将原始文件未加密地压缩为 zip 文件,然后将其压缩并加密为另一个 zip 文件。然后唯一可以在没有密码的情况下看到的是内部 zip 文件的名称。 (14认同)
  • 违反直觉但有趣的功能。谢谢澄清 (2认同)
  • @Stobor 在相关说明中,`.7z` 存档格式可以选择加密目录列表和文件。 (2认同)