비밀번호로 보호된 zip 아카이브는 비밀번호 없이 열 수 있습니다.

비밀번호로 보호된 zip 아카이브는 비밀번호 없이 열 수 있습니다.

Linux에서 비밀번호로 보호되는 zip 아카이브가 있습니다(비밀번호는 "secret"입니다). 그러나 zip 파일을 열려고 할 때마다 비밀번호 등을 입력하라는 메시지가 표시되지 않습니다. 또한 zip 아카이브를 추출하고 의도적으로 잘못된 비밀번호를 전달하는 Python 스크립트가 있지만 여전히 아카이브의 압축이 풀립니다. 또한 루트가 파일 권한을 무시하는 것을 좋아한다고 들었기 때문에 루트로 실행하지 않았습니다. 내가 뭐 잘못 했어요?

"evil" 폴더를 zip 파일 "evil.zip"으로 압축하고 다음 명령을 사용하여 비밀번호를 지정했습니다.

zip --pasword secret -r evil.zip evil

Python 스크립트 unzip.py의 내용은 다음과 같습니다.

import zipfile
zFile = zipfile.ZipFile("evil.zip")
zFile.extractall(pwd="oranges")

Kali Linux 1.0.9 및 Zip(v. 3.0)을 실행 중입니다.

또한 비밀번호 대신 암호화 명령을 사용해 보았습니다.

zip --encrypt -r evil.zip evil

비밀번호를 묻는 메시지가 표시되고 비밀번호가 비밀로 설정됩니다.

나는 이 메시지로 끝났습니다.

Traceback (mostrecent call last) :
 File "unzip.py", line 3, in <module>
  zFile.extractall(pwd="oranges")
 File "/usr/lib/python2.7/unzip.py", line 980, in extractall
  self.extract(zipinfo, path, pwd)
 File "/usr/lib/python2.7/unzip.py", line 968, in extract
  return self._extract_member(member, path, pwd)
 File "/usr/lib/python2.7/unzip.py", line 1011, in _extract_member
  source = self.open(member, pwd=pwd)
 File "/usr/lib/python2.7/unzip.py", line 952, in open
  raise RuntimeError("Bad password for file", name)
RuntimeError: ('Bad password for file', <zipfile.ZipInfo object at 0x23a0118>)

그런 다음 폴더는 압축이 풀린 상태로 유지됩니다.

답변1

아카이브의 파일은 디렉토리 구조가 아닌 암호화되고 비밀번호로 보호됩니다. 추출할 수 있다는 의미입니다.목차암호화되어 있더라도(파일은 아님) 아카이브에서 얻을 수 있습니다.

어떤 방식으로든 아카이브를 암호화하여 불가능하게 만들려면 GnuPG와 같은 것을 사용하는 것이 좋습니다.

답변2

아마도 이것은 Kali를 실행하고 있기 때문일 것입니다. 이 배포판은 보안 기능을 "우회"하도록 설계되었습니다(보안 결함을 강조하려는 합법적인 목적으로). 다른 배포판에서는 이 "버그"가 발생하지 않을 것이라고 생각합니다.

관련 정보