CTF——MISC习题讲解(MRCTF2020系列)

CTF——MISC习题讲解(MRCTF2020系列)

前言

上一章节我们已经做完一场比赛的杂项题目,这次给大家介绍一下MRCTF中杂项题目

一、[MRCTF2020]pyFlag

题目链接如下:
链接:https://pan.baidu.com/s/1IQWks6UXUFq5gbkpcGp9sw?pwd=t05h
提取码:t05h
首先打开题目后发现共有三张图片
CTF——MISC习题讲解(MRCTF2020系列)_第1张图片
老规矩,对于杂项的题目先扔到winhex或者010Editor工具进行查看
但是发现这几张图片的结尾处都是存在压缩包数据
第一张图片
CTF——MISC习题讲解(MRCTF2020系列)_第2张图片
第二张图片
CTF——MISC习题讲解(MRCTF2020系列)_第3张图片第三张图片
CTF——MISC习题讲解(MRCTF2020系列)_第4张图片感觉这应该是一整个压缩包文件,然后被拆分成了三个部分,那么把这三个压缩包数据合在一起看下是什么样子,因为压缩包的头是PK,所以要按照这个顺序来进行,拼装的顺序:Setsuna.jpg——Furan.jpg——Miku.jpg
我拼装的方式就是先找一个原本的压缩吧,然后把拼装的数据复制剪贴就去即可
CTF——MISC习题讲解(MRCTF2020系列)_第5张图片压缩包打开后发现有密码,先用爆破工具进行爆破

CTF——MISC习题讲解(MRCTF2020系列)_第6张图片CTF——MISC习题讲解(MRCTF2020系列)_第7张图片CTF——MISC习题讲解(MRCTF2020系列)_第8张图片最终得到密码1234
输入密码后看到txt文档里内容如下

G&eOhGcq(ZG(t2*H8M3dG&wXiGcq(ZG&wXyG(jtG&eOdGcq+aG(t5oG(jqG&eIeGcq+aG)6QrG&eOdH9<5qG&eLvG(jsG&nRdH9<8rG%++qG%__eG&eIeGc+|cG(t5oG(jsG&eOlH9<8rH8C_qH9<8oG&eOhGc+_bG&eLvH9<8sG&eLgGcz?cG&3|sH8M3cG&eOtG%_?aG(t5oG(jtG&wXxGcq+aH8V6sH9<8rG&eOhH9<5qG(tG&eOtG%+qG&eLcH9<8sG&wUwGek2)

然后其实这个题目中还有其他东西,就是把另一个文件隐藏起来了,要是光这一串代码我还真不知道怎么弄,

CTF——MISC习题讲解(MRCTF2020系列)_第9张图片
CTF——MISC习题讲解(MRCTF2020系列)_第10张图片隐藏文件内容如下
CTF——MISC习题讲解(MRCTF2020系列)_第11张图片这里的话直接引用一下官方的脚本

#!/usr/bin/env python

import base64
import re

def baseDec(text,type):
    if type == 1:
        return base64.b16decode(text)
    elif type == 2:
        return base64.b32decode(text)
    elif type == 3:
        return base64.b64decode(text)
    elif type == 4:
        return base64.b85decode(text)
    else:
        pass

def detect(text):
    try:
        if re.match("^[0-9A-F=]+$",text.decode()) is not None:
            return 1
    except:
        pass
    
    try:
        if re.match("^[A-Z2-7=]+$",text.decode()) is not None:
            return 2
    except:
        pass

    try:
        if re.match("^[A-Za-z0-9+/=]+$",text.decode()) is not None:
            return 3
    except:
        pass
    
    return 4

def autoDec(text):
    while True:
        if b"MRCTF{" in text:
            print("\n"+text.decode())
            break

        code = detect(text)
        text = baseDec(text,code)

with open("flag.txt",'rb') as f:
    flag = f.read()

autoDec(flag)

运行脚本后得到flag
CTF——MISC习题讲解(MRCTF2020系列)_第12张图片
MRCTF{Y0u_Are_4_p3rFect_dec0der}

二、[MRCTF2020]千层套路

题目链接如下:
链接:https://pan.baidu.com/s/1Dr8HWOEOmOKNTPG2jpSj2Q?pwd=bnww
提取码:bnww
首先打开压缩包发现需要密码,先放到010Editor里看看是不是存在伪加密什么的。
CTF——MISC习题讲解(MRCTF2020系列)_第13张图片发现一切正常,那继续用爆破软件进行解密

CTF——MISC习题讲解(MRCTF2020系列)_第14张图片
爆破出密码后直接输入,会发现还是继续存在压缩包解密,那这就得好好观察一下,应该是压缩包套娃了
CTF——MISC习题讲解(MRCTF2020系列)_第15张图片然后就直接上脚本即可,发现解压后共有600多个压缩包
最后解压缩出来一个“qr.zip”而且程序报错退出即可。

import zipfile
name = '0573'
while True:
    fz = zipfile.ZipFile(name + '.zip', 'r')
    fz.extractall(pwd=bytes(name, 'utf-8'))
    name = fz.filelist[0].filename[0:4]
    fz.close()

CTF——MISC习题讲解(MRCTF2020系列)_第16张图片

解压后发现最后有一个qr.zip压缩包,这个压缩包与其他不一样。那么我们就直接解压看看里面的东西
CTF——MISC习题讲解(MRCTF2020系列)_第17张图片发现里面均是(255,255,255)和(0,0,0)使用脚本将RGB数据写成图片

from PIL import Image

x = y = 200
img = Image.new("RGB",(x,y))
file = open('qr.txt','r')

for width in range(0,x):
    for height in range(0,y):
        line = file.readline()
        rgb = line.replace('(','').replace(')','').split(',')
        img.putpixel((width,height),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
img.save('flag.jpg')

执行完python代码后得到二维码,扫码得flag
CTF——MISC习题讲解(MRCTF2020系列)_第18张图片

MRCTF{ta01uyout1nreet1n0usandtimes}

三、[MRCTF2020]你能看懂音符吗

题目链接如下:
链接:https://pan.baidu.com/s/1LAWYYJ7nO3MJ2QcMUxoRKg?pwd=y06j
提取码:y06j
首先打开文件发现已经损坏,一直打不开,那就直接放到编辑器里看看
CTF——MISC习题讲解(MRCTF2020系列)_第19张图片发现是压缩包的文件头被篡改,那就直接给恢复过来保存
CTF——MISC习题讲解(MRCTF2020系列)_第20张图片打开后发现就是一个文档,但是貌似这个文档好像隐藏了点东西。灰色部分也是有点东西的,我们进行尝试。
CTF——MISC习题讲解(MRCTF2020系列)_第21张图片CTF——MISC习题讲解(MRCTF2020系列)_第22张图片
确实是隐藏了文字
![在这里插入图片描述](https://img-blog.csdnimg.cn/3003391dc19a4ff983665ce262a2fe57.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVEpB5bCP5YKy,size_20,color_FFFFFF,t_70,g_se,x_16
题目提示是音符,直接音符解密
解密网站:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
但是有好多在复制音符的时候复制不了,那就直接先复制到·微信或者其他界面里,然后在复制到解密那里即可。CTF——MISC习题讲解(MRCTF2020系列)_第23张图片最终得到flag
MRCTF{thEse_n0tes_ArE_am@zing~}
当然这个题还有其他解法,就是直接把文档换后缀,直接改成压缩包的形式
CTF——MISC习题讲解(MRCTF2020系列)_第24张图片
CTF——MISC习题讲解(MRCTF2020系列)_第25张图片
也可以直接解出。

四、[MRCTF2020]小O的考研复试

题目链接如下:
链接:https://pan.baidu.com/s/19CkjF7XcGJG04KdF8l941g?pwd=n0n0
提取码:n0n0
首先打开题目看到是一个数学题(第一时间想到的就是,,,,拉倒吧,就我这水平,,,哎)
CTF——MISC习题讲解(MRCTF2020系列)_第26张图片直接上脚本即可(真得好好学习一下py代码,真是万能的)

a=2
for i in range(19260816):
    a = a * 10 + 2
    a%=(1e9+7)

print(a)

在这里插入图片描述
最终直接去除小数点以后位置即可,得到flag
flag{577302567}

五、[MRCTF2020]keyboard

题目链接如下:
链接:https://pan.baidu.com/s/1pPxSah0RXQuhJUWu2brtPw?pwd=taqg
提取码:taqg
首先打开题目发现文档内容如下
CTF——MISC习题讲解(MRCTF2020系列)_第27张图片看到这个数字再联想到题目是不是键盘的的按键顺序,但是经过长时间的摸索终于得出了这个题解,就是这个按键对应的是手机的九宫格汉字,6就代表m,666就代表这个按键的第三个字母o,22代表b,以此类推即可得到flag
flag{mobilephond}

六、[MRCTF2020]不眠之夜

题目链接如下:
链接:https://pan.baidu.com/s/1TSC35uHJDKCfgbpfG89g8g?pwd=04po
提取码:04po
打开文件夹后发现,好家伙,都是一堆图片,好几十张图片看来是都得一个个拼凑出来才能得到flag了。
CTF——MISC习题讲解(MRCTF2020系列)_第28张图片
然后看看图片属性

CTF——MISC习题讲解(MRCTF2020系列)_第29张图片
一共是120张,每张都是200 x 100,应该长:10张图片,宽:12张图片,那么拼起来的总图就应该是长:2000 x 宽:1200
直接使用使用montage和gaps两个工具拼接即可(两种工具大家可以自行去网上下载即可)

montage *jpg -tile 10x12 -geometry 200x100+0+0 flag.jpg
gaps --image=flag.jpg --generations=40 --population=120 --size=100

CTF——MISC习题讲解(MRCTF2020系列)_第30张图片最终拿到flag
flag{Why_4re_U_5o_ShuL1an??}

七、[MRCTF2020]摇滚DJ

题目链接如下:
链接:https://pan.baidu.com/s/17udx0KxJdmZm2nok9kTP0Q?pwd=wgjy
提取码:wgjy
文件下载后是一个音频文件
CTF——MISC习题讲解(MRCTF2020系列)_第31张图片
听着貌似是SSTV,使用QSSTV解析
CTF——MISC习题讲解(MRCTF2020系列)_第32张图片最终得到flag
flag{r3ce1ved_4n_img}

八、[MRCTF2020]ezmisc

题目链接如下:
链接:https://pan.baidu.com/s/1cinxZI2STJrHfGZ1HS810A?pwd=eloq
提取码:eloq
打开题目发现图片如下
CTF——MISC习题讲解(MRCTF2020系列)_第33张图片第一时间想到的就是是不是在属性里隐藏,或者直接分离什么的,但是试过了都不是,试试是不是把图片隐藏宽高了
CTF——MISC习题讲解(MRCTF2020系列)_第34张图片
修改宽高后发现下面存在flag
CTF——MISC习题讲解(MRCTF2020系列)_第35张图片
flag{1ts_vEryyyyyy_ez!}

九、[MRCTF2020]CyberPunk

题目链接如下:

链接:https://pan.baidu.com/s/1j_KISqyoP0qk3PdbUQAzJQ?pwd=wy39
提取码:wy39
打开题目后发现就是一个exe文件
CTF——MISC习题讲解(MRCTF2020系列)_第36张图片
先把上面的英语翻译一下
CTF——MISC习题讲解(MRCTF2020系列)_第37张图片
意思就是时间到那个时候就可以,那就直接更改时间就行
CTF——MISC习题讲解(MRCTF2020系列)_第38张图片
得到flag
flag{We1cOm3_70_cyber_security}

你可能感兴趣的:(CTF-Misc,安全,web安全,apache)