[MRCTF2020]千层套路1
下载压缩包是加密文件,通过随波逐流zip爆破,得到密码0573,又是一个加密压缩包,再次爆破解密,再次看到加密压缩包,看见密码与文件名相同,可以看出这是一个嵌套压缩包,而且密码与文件名相同,不知嵌套多少层
用python代码
# @Author:YueXuan
# @Date :2024/9/24 17:19import zipfile
import osdef extract_zip_with_filename_as_password(zip_path):# 检查文件是否存在if not os.path.exists(zip_path):print(f"File {zip_path} does not exist.")return# 获取ZIP文件名(不包含路径)zip_filename = os.path.basename(zip_path)# 获取不带扩展名的文件名base_name = os.path.splitext(zip_filename)[0]# 尝试使用文件名作为密码解压ZIP文件try:with zipfile.ZipFile(zip_path, 'r') as zip_ref:zip_ref.extractall(pwd=base_name.encode())print(f"Successfully extracted {zip_path} with password: {base_name}")# 检查解压后的文件是否还是ZIP文件for file in zip_ref.namelist():new_zip_path = os.path.join(os.getcwd(), file)if zipfile.is_zipfile(new_zip_path):# 如果是ZIP文件,则递归调用函数继续解压extract_zip_with_filename_as_password(new_zip_path)else:print(f"Extracted file {file} is not a ZIP file.")except RuntimeError as e:print(f"Failed to extract {zip_path}: {e}")# 使用示例
# 假设你的ZIP文件位于当前目录下,名称为0573.zip
zip_path = "0573.zip"
extract_zip_with_filename_as_password(zip_path)
两次运行得到qr.txt
是RGB数据,随波逐流转二维码
QR Research解码
flag:MRCTF{ta01uyout1nreet1n0usandtimes}