比赛介绍
安恒月赛 DASCTF 7月赛
这次太惨了,都做只做了2个,哎,我觉得还需要锻炼,加油。
拿到文件使用7z这个压缩包软件,直接能看到这个flag,在这里,可是需要解压密码
我就开始分析一下这个给的素材
在图片红色通道看到png的格式
点击这个Save Bin 保存一个图片文件
知道了密码
////1258//@#
然后直接在这个7z软件中打开这个txt
Ao(mgHXo,o0fV’I2J"^%3&**H@q.MQ1,V%$1GCdB0P"X%0RW
解码一下
flag{d9518636e448108cc90258c30800dbb0}
PS:这题难点,我觉得前期我被一个网站给坑害了,请各位师傅擦亮眼睛这个工具箱有毒:http://www.atoolbox.net/
我在这里推荐,一个师傅推荐的http://ctf.ssleye.com/
要不是自己战队的师傅说出了问题,我还没感觉到,请各位师傅躲避一下坑!。
这题目,拿到手就是一个gif大致看一下都是只有一点点的二维码
使用脚本切割一下:
from PIL import Image import os gifFileName = 'QrJoker.gif' #使用Image模块的open()方法打开gif动态图像时,默认是第一帧 im = Image.open(gifFileName) pngDir = gifFileName[:-4] #创建存放每帧图片的文件夹 os.mkdir(pngDir) try: while True: #保存当前帧图片 current = im.tell() im.save(pngDir+'/'+str(current)+'.png') #获取下一帧图片 im.seek(current+1) except EOFError: pass
然后百度一下,看来一下说明,推荐一首很方便理解二维码的网址:https://merricx.github.io/qrazybox/
我们首先数一下有多少格子
这个高是420 一个格子20 420/20=21
得出是21*21格子然后开始操作
按照这个来回绘制
这里夸一下谷歌翻译,让我这个学渣看得懂,点击提取信息
当时研究了很久,现在来解释一下点击这个
在当中选择这个模式,就可以填充了
就看到了这个二维码给的数值,由于数值过多,截图也多
比赛结束我也没做好,比赛结束之后用一个小时,眼瞎了N次,最后终于获得了
%56%6A%49%77%65%45%35%48%52%6B%64%69%4D%33%42%72%55%6A%4E%53%55%46%6C%58%4D%54%52%6A%4D%57%52%79%57%6B%5A%61%54%31%5A%55%52%6C%5A%5A%56%57%51%30%56%32%31%57%63%6B%31%45%52%6C%56%4E%56%6B%70%78%56%47%78%56%4E%56%4A%58%53%6B%68%68%52%54%6C%58%54%56%5A%56%64%31%59%79%4D%58%64%69%4D%6B%5A%79%54%6C%52%61%55%6C%64%49%51%6D%46%57%61%32%52%50%54%6C%5A%52%65%46%6F%7A%5A%44%46%56%56%44%41%35
解码一下
VjIweE5HRkdiM3BrUjNSUFlXMTRjMWRyWkZaT1ZURlZZVWQ0V21Wck1ERlVNVkpxVGxVNVJXSkhhRTlXTVZVd1YyMXdiMkZyTlRaUldIQmFWa2RPTlZReFozZFFVVDA5
base64
V20xNGFGb3pkR3RPYW14c1drZFZOVTFVYUd4WmVrMDFUMVJqTlU5RWJHaE9WMVUwV21wb2FrNTZRWHBaVkdONVQxZ3dQUT09
base64
Wm14aFozdGtOamxsWkdVNU1UaGxZek01T1RjNU9EbGhOV1U0Wmpoak56QXpZVGN5T1gwPQ==
base64
ZmxhZ3tkNjllZGU5MThlYzM5OTc5ODlhNWU4ZjhjNzAzYTcyOX0=
base64
flag{d69ede918ec3997989a5e8f8c703a729}
这道题目因为比赛结束之后才做出来,所以我不确定答案是不是对的,我觉得应该对的吧太惨了我老年人手速呜呜呜呜