拿到题目,看到字节只有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}