我最近发现了一个漏洞,我(或假设任何人)可以重新加密我的加密 zip 文件,而无需知道密码:
#zip --encrypt encrypted.zip -r dir1/
上面会提示用户输入新的密码。我是否遗漏了什么,或者这是一个已知问题?
答案1
Zip 存档可以针对不同的包含文件有多个密码。存档中的文件本质上是彼此独立的 - 它们在压缩时不考虑其他文件,并且以相同的方式加密。您encrypted.zip
将有两个(或更多)加密段,一个包含您的原始密码,另一个包含新密码。
尝试unzip
该文件会提示输入两个密码:
$ unzip ../test.zip
Archive: ../test.zip
[../test.zip] file1 password:
inflating: file1
inflating: file2
[../test.zip] newfile password:
inflating: newfile
该目录(文件名列表)未加密。这不是一个错误,尽管它可能会令人困惑,并且并非所有 zip 工具都能很好地处理这种情况(特别是图形工具)。