[misc]-压缩包-zip

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

题目:拼在一起解下base64就有flag

打开附件,发现都是68个小的压缩文件,且是加密的,根据题目提示,考虑crc32碰撞。

import zipfile
import string
import binascii
import base64

d = open('rs.zip', 'wb')
b64 = ''
dic = string.ascii_letters + string.digits + '{}_+/='


def CrackCrc(crc):
    for i in dic:
        for j in dic:
            for k in dic:
                for h in dic:
                    s = i + j + k + h
                    if crc == (binascii.crc32(s.encode())):
                        # b64+=s
                        return s


def CrackZip():
    ts = ''
    for i in range(68):
        print(str(i) + '开始\n')
        fn = '1\\' + 'out' + str(i) + '.zip'
        with open(fn, 'r') as ob:
            crc = zipfile.ZipFile(fn, 'r').getinfo('data.txt').CRC
            # obf=ob.read()
            # crc = ''.join(obf[14:18])
            ts += CrackCrc(crc)
        print(str(i) + 'end\n')
    return ts


b64 = CrackZip()
print("CRC32碰撞完成")
print(b64)
ds = base64.b64decode(b64)
d.write(ds)
d.close()

得到:z5BzAAANAAAAAAAAAKo+egCAIwBJAAAAVAAAAAKGNKv+a2MdSR0zAwABAAAAQ01UCRUUy91BT5UkSNPoj5hFEVFBRvefHSBCfG0ruGnKnygsMyj8SBaZHxsYHY84LEZ24cXtZ01y3k1K1YJ0vpK9HwqUzb6u9z8igEr3dCCQLQAdAAAAHQAAAAJi0efVT2MdSR0wCAAgAAAAZmxhZy50eHQAsDRpZmZpeCB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBmbGFnxD17AEAHAA==

是base64编码,解密后得到乱码,010查看可以发现有flag.txt字样:考虑压缩文件,补齐文件头得到

打开后发现

flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值