¿Es esto un error de cifrado zip?

13

Recientemente descubrí un exploit, donde yo (o suponiendo que alguien) pueda volver a cifrar mi archivo zip cifrado sin tener que conocer la contraseña:

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

Lo anterior solicitará al usuario que ingrese una nueva contraseña. ¿Hay algo que me falta o es un problema conocido?

lamino
fuente
55
¿Ha encontrado una manera de leer los datos en el archivo zip original?
ctrl-alt-delor
@ ctrl-alt-delor sí, no olvidé mi contraseña, me di cuenta de esto por accidente
lamino
17
Lo siento, quise decir, ¿ha encontrado una manera de leer los datos en el archivo zip original, sin saber la contraseña?
ctrl-alt-delor

Respuestas:

40

Los archivos zip pueden tener múltiples contraseñas para diferentes archivos contenidos. Los archivos dentro de un archivo son esencialmente independientes entre sí: están comprimidos sin tener en cuenta otros archivos y están encriptados de la misma manera. Su encrypted.ziptendrán dos (o más) segmentos cifrados, uno con su contraseña original y otra con el nuevo.

Intentar con unzipel archivo solicitaría ambas contraseñas:

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

El directorio, la lista de nombres de archivo, no está encriptado. Esto no es un error, aunque puede ser confuso y no todas las herramientas zip manejan bien la situación (especialmente las herramientas gráficas).

Michael Homer
fuente
2
Característica contra intuitiva pero interesante. Gracias por aclarar
lamino
14
El directorio, la lista de nombres de archivo, no está encriptado ; es por eso que las situaciones en las que la lista del directorio también es sensible a menudo tienen los archivos originales comprimidos sin cifrar en un archivo zip, que luego se comprime y se encripta en otro archivo zip. Entonces, lo único que es visible sin la contraseña es el nombre del archivo zip interno.
Stobor
2
@Stobor en una nota relacionada, el .7zformato de archivo tiene la opción de cifrar la lista del directorio, así como los archivos.
user3490