标签:infolist zip fz flag filename 羊城 复现 2022 newfile
因为错过了报名时间...所以就在平台上直接找题目做了一下
1.[羊城杯 2022]签个到
1.打开,是一段密文,不太像是base编码(我是没有发现是哪种)直接用kali的ciphey解决一下
2.得到flag
2.[羊城杯 2022]Unlimited Zip Works
1.打开后发现应该是无规则命名无密码zip套娃,再查看注释,发现有内容,组成的应该是一个新的zip,写脚本批量提取(这里使用的是网上找的)
点击查看代码
import zipfile
name = 'file'
infolist = []
num = 1
newzip=b''
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
for i in fz.namelist():
if "zip" in i:
filename = i[0:5]
# print(filename)
fz.extractall(pwd=bytes(filename, 'utf-8'))
num += 1
name = filename
for j in fz.infolist():
infolist.append(j.comment)
if 'flag.txt' in str(j):
print('[+] 解压完成')
list2 = infolist[::-1]
for k in list2:
newzip += k
with open('./newfile.zip','wb') as f:
f.write(newzip)
print("[+] 成功生成新压缩包newfile.zip")
exit(0)
2.得到一堆zip,要的是newfile.zip,打开后会发现没有什么有用信息,都是txt
3.010打开,查看一下这个zip的结构,可以发现其中好像还隐藏了一个zip,写代码改一下(直接手撕格式上会有问题)
点击查看代码
from zipfile import ZipFile
data = []
with ZipFile( 'newfile.zip', 'r') as zf:
for i in zf.infolist():
data.append(i.extra)
with open('flag.zip','wb') as fz:
for i in data:
fz.write(i)
4.得到flag.zip,得到一张jpg,jpg本身没有看到附加文件,但是flag.zip末尾附有另外一个zip
5.直接手撕,得到一个zip(如果格式上有问题,可以直接用winrar自带工具修复),得到的f,打开后就是flag
标签:infolist,zip,fz,flag,filename,羊城,复现,2022,newfile 来源: https://www.cnblogs.com/120211P/p/16670005.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。