攻防世界 crc

文章讲述了使用CRC32算法进行字节级爆破,通过Python脚本寻找文件CRC值对应的字符组合,最终解压出隐藏的flag。方法涉及ASCII编码、Base64转换和二维码扫描。
摘要由CSDN通过智能技术生成

拿到题目,看到字节只有6个,结合题目名称,使用crc爆破

这边使用的是crc32.py,下载地址项目概览 - crc32 - GitCode 

使用方法:py -3 crc32.py reverse 0x文件crc值(如0xccca7e74)

找有意义的,解压密码为:forum_91ctf_com_66

方法二:

因为循环太多,跑6个字节的基本跑不出来...求大佬指点

import binascii
import string
crc_now1="CC86365B"#文件的crc值
crc_now2="BCEE7ED5"
crc_now3="CCCA7E74"
crc_now4="CC86365B"
char1=''
char2=''
char3=''
char4=''
char5=''
char6=''
chars={'1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','@','_'}
def crc_baopo():
    for char1 in chars:
        for char2 in chars:
            for char3 in chars:
                for char4 in chars:
                    for char5 in chars:
                        for char6 in chars:
                            char_current=char1+char2+char3+char4+char5+char6
                            char_crc=binascii.crc32(char_current.encode())
                            char_crc = char_crc & 0xffffffff
                            print(char_current)
                            if char_crc==crc_now1:
                                print('第一个文件:{}'.char_current)
                            if char_crc==crc_now2:
                                print('第2个文件:{}'.char_current)
                            if char_crc==crc_now3:    
                                print('第3个文件:{}'.char_current)
crc_baopo()                 

得到一个01文件,先转ascii码试试,

提示该ascii码为base64,则直接使用base64转图片,得到二维码,扫码即得flag

flag{owid0-o91hf-9iahg}

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值