用winhex打开图片 发现里面有个压缩包
用foremost分离出一个压缩包 压缩包加密了 里面还有一个压缩包 直接爆破密码 发现解压密码就是里面压缩包的文件名 解压 里面还有一个压缩包 解压密码也是里面压缩包的文件名 搁这套娃呢
解压了好几次 我直接放弃没完没了
没办法了写脚本吧
import os
import zipfile
path = r'33541'
shu = 0
y = 0
def x():
x = os.listdir(path)#获取路径文件名
#print(x)
#y = 0
global y
global shu
shu +=1
for i in x:
route = os.path.join(path,i)#生成压缩文件路径33541\38199.zip
#print(route)
zip_file = zipfile.ZipFile(route)#获取压缩包里文件名
#print(zip_file.namelist())
name = zip_file.namelist()[0]#.namelist()获取ZIipFile()里的信息
wjmin = name.replace(".zip",'')
#print(z)
try:
zip_file.extract(name,path,wjmin.encode())#解压 name文件名,path解压路径,wjmin.encode()密码(可选)
except:
print(shu)
y=1
pass
zip_file.close()#关闭文件,释放内存
if y ==0:
os.remove(route)#删除前一个压缩文件
x()
while True:
x()
#shu +=1
#zips = [m for m in os.listdir(path) if '.zip' in m]
if y:
break
好家伙998层(这还是我手动解压了一些的情况下) 起码套了一千层 还好没想手动搞完 不然得被折磨死
最后剩一个bugku.zip 爆破了半天 也没爆破出来 最后想到了提示 rockyou文件 百度了一下 这是一个kali自带的字典 在/usr/share/wordlists中 直接copy出来 用字典爆破
得到压缩包密码:letsgetiton
又是一张图片 随便看了一下信息也没啥提示 直接winhex打开 搜falg 发现flag在最后
得到flag :flag{miu_nian_da_ji}
收工