私はこの宿題をやろうとしていますhttps://www.root-me.org/en/Challenges/Cryptanalysis/File-PKZIP私はそれを解読する関数を書くとき。なぜpkzipは2つのパスワードを受け入れますか?
import subprocess from time import sleep
file = open('/home/begood/Downloads/SecLists-master/Passwords/'
'rockyou-75.txt', 'r') lines = file.readlines() file.close() for line in lines:
command = 'unzip -P ' + line.strip() + ' /home/begood/Downloads/ch5.zip'
print command
p = subprocess.Popen(
command,
stdout=subprocess.PIPE, shell=True).communicate()[0]
if 'replace' in p:
print 'y\n'
sleep(1)
それは=パスワードでscooter
を停止します。
unzip -P scooter /home/begood/Downloads/ch5.zip replace readme.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
が、私はそれを解凍するためにそれを使用するときに言った:
inflating: /home/begood/readme.txt
error: invalid compressed data to inflate
そして、それは本当のパスワードです:14535
。なぜpkzipが2つのパスワードを受け入れるのですか?
RSAでパディングOracleの攻撃のように見えます! – Mr2uang