“百度杯”CTF比赛 十一月场 '小可爱' writeup(伪)
题目内容:
小可爱最喜欢的图片就是它了 tips:txt文件内容即为密码
题目给出了一张图片
附上下载链接: 百度云
writeup
1.把文件后缀改成rar,发现是一个可以打开的压缩包,不过需要密码
根据题目提示,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
3.有了密码就可以把压缩包里的图片解压出来了,是一张撕裂成好几部分的二维码, 使用ps拼好或者打印出来裁剪拼好扫描结果应该就是flag了,由于不会ps最终答案你们自己来吧(逃