羊城杯2022 MISC 复现

[羊城杯 2022]签个到

ZMJTPM33TL4TRMYRZD3JXAGOZVMJRLWEZMFGFAEIZV2GVMOMZZ3JTZ3RUR2U2===

实际上是ROT13之后的base32

ciphey一把梭

[羊城杯 2022]Unlimited Zip Works

附件打开是一个套了几百层的压缩包,多点几层可以看到有的压缩包的注释中是有内容的,所以这里实际上要提取注释中的内容。

这里借用其他师傅的脚本,把注释中的内容提取后组成一个新的压缩包。

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)

压缩包最后打开的flag.txt没什么用,我们需要的是newfile.zip

newfile.zip打开之后又是无数个txt文档

其他师傅写的WP上说是所有文件的特征都是error,所以要提取extra值(实际上我不懂)

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)

运行之后的flag.zip里开出一个archer.jpg

分析之后发现图片并没有什么用,反而是flag.zip文件末尾发现另一个隐藏的zip文件

正常的文件头应该是50 4B 03 04,这里是01 02

保存之后用7z打开会报错,但是用winrar能正常打开并解压

得到一个无后缀文件,随便用010或记事本或cat都能打开得到flag

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值