“百度杯”CTF比赛 十一月场 '小可爱' writeup(伪)

题目内容:

小可爱最喜欢的图片就是它了 tips:txt文件内容即为密码

题目给出了一张图片

wang.4409F5F40438B0C7C4C4E2D9C1883CA4.jpg

附上下载链接: 百度云

writeup

1.把文件后缀改成rar,发现是一个可以打开的压缩包,不过需要密码

Screenshot_2020-01-07_23-33-22.png

根据题目提示,txt文件里面的内容是密码,而txt文件名提示我们密码是8位数字, 解题的思路是通过CRC32检测来爆破txt里面的内容,从上图中我们可以看到txt的CRC32值为BACAB29E

2.跑py脚本解密

代码如下(Python2环境)

from zlib import crc32
import random

char='0123456789'

def crc32_f(data):
    return hex(crc32(data)&0xffffffff)[2:10]

length=input('length:')
crc32_=raw_input('crc32:').lower()

while True:
    text=''
    for i in range(length):
        text+=char[random.randint(0,len(char)-1)]
    if crc32_f(text)==crc32_:
        raw_input('find it:'+text)
        exit

脚本运行时需要输入密码长度,这里填8, 然后是CRC密文, 这里填BACAB29E

接下来就是漫长的等待了,最后跑出密码:34878956

Screenshot_2020-01-08_00-54-41.png

3.有了密码就可以把压缩包里的图片解压出来了,是一张撕裂成好几部分的二维码, 使用ps拼好或者打印出来裁剪拼好扫描结果应该就是flag了,由于不会ps最终答案你们自己来吧(逃

qrcode