BUUCTF_Misc_[安洵杯 2019]吹着贝斯扫二维码

有一堆未知的文件,用文本打开,看到都是JEIF头,所以都给他们加上.jpg后缀

python脚本:

import os

path = 'C:\\Users\\25287\\Desktop\\1'
for i in os.listdir('C:\\Users\\25287\\Desktop\\1'):
    if i == 'flag.zip':
        continue
    else:
        oldname = os.path.join(path,i)
        newname = os.path.join(path,i+'.jpg')
        os.rename(oldname,newname)

cmd命令:

ren * *.jpg

然后改为bat后缀,执行

发现是个破碎的二维码

使用ps拼接,

tips:有细心的大佬发现二进制文件末尾有编号.

编号脚本:

import os
from PIL import Image

#目录路径
dir_name = r"./"
#获取目录下文件名列表
dir_list = os.listdir('./')
#print(dir_list)

#从列表中依次读取文件
for file in dir_list:
    if '.jpg' in file:
        f=open(file ,'rb')
        n1 = str(f.read())
        n2 = n1[-3:]    
        #经过测试发现这里要读取最后3个字节,因为最后还有一个多余的字节,不知道是不是转字符串的原因导致在末尾多了一个字符
        #print(file) #输出文件内容
        #print(n2)
        f.close()    #先关闭文件才能重命名,否则会报`文件被占用`错误
        os.rename(file,n2+'.jpg')    #重命名文件

最后拼接起来:

 

扫出来是:

BASE Family Bucket ???
85->64->85->13->16->32
注意这里13是rot13,刚开始我还以为什么时候冒出来个base13,看来是学时短浅了,

然后一顿解密操作下来得到压缩包密码:

ThisIsSecret!233

最后得到flag

flag{Qr_Is_MeAn1nGfuL}

 

posted @ 2022-01-18 21:14  Luccky  阅读(215)  评论(0编辑  收藏  举报