审题,tar没用,不需要爆破
下载附件得到tar.gz压缩包
查看16进制的时候发现是PK的头,对应的题目的提示tar不好使(就是不tar压缩的)
那么解压密码既然不用爆破,16头尾也没啥发现就试试用文件名去解压
发现可以解压但是得到的还是压缩包,继续重复操作...
当时我解了半小时(时间沉dedao默成本导致...)一直以为下一个就出了..
累了去水水群吐槽,这是什么千层饼..很快得到出题人的回复
行吧上脚本
import zipfile
import os
import re
#不知道为啥zip加了close还是提示正在操作,便无法边解压边删上个压缩包,有解决方法请师傅不吝赐教
def del_old_zip(file_path):
os.remove(file_path)
def un_rar(file_name,pwd=None):
try:
zip = zipfile.ZipFile(file_name)
zip.extractall(pwd=pwd.encode())
zip.close()
except Exception as e :
print(e)
print('Fail:'+file_name)
return False
else:
print('Success')
return True
def listdir():
file_dir="C://Users/Administrator/Desktop/buuoj/"
list_= [i for i in os.listdir(file_dir) if 'gz'in i]
list_.sort(key=lambda fn: os.path.getmtime(file_dir+fn) if not os.path.isdir(file_dir+fn) else 0)
return list_[-1]
if __name__ == '__main__':
for i in range(300):
file = r"".join(listdir())
pwd = file[:-7]
un_rar(file,pwd)
最后解压出来的就是flag
-----------------------------------------------------------------我是分割线--------------------------------------------------------------
看完了觉得不错就点个赞或者评论下吧,感谢!!!
如果本文哪里有误随时可以提出了,收到会尽快更正的