MRCTF 2020-“TiKi小组”

4 篇文章 0 订阅
1 篇文章 0 订阅

题目状态:

OPEN - 正在试图解这道题
CLOSED - 这道题还没有打开
SOLVED - 解决了!鼓掌撒花!

赛事信息

Flag格式:MRCTF{}
起止时间:2020-03-27 18:00:00 - 2020-03-29 22:00:00
官网地址:https://merak-ctf.site/
参赛地址:https://merak-ctf.site/

Reverse:

在这里插入图片描述

Pwn:

在这里插入图片描述

Misc:

Hello_Misc | SOLVED |

在liunx 中使用binwalk -e 分解图片,有了一个压缩包,然后使用看图Stegsolve
取出图片,得到了zip密码

!@#$%67*()-+

这个看到一个大佬的想法,是转换成二进制取前2位
大佬博客:https://www.cnblogs.com/neu-cdr/p/12917121.html
with open('out.txt') as a_file:
    content = [x.strip() for x in a_file.readlines()]
bins = []
for i in content:
    bins.append(bin(int(i))[2:].zfill(8)[:2])
stringBins = ''.join(bins)
num = 0
flag = ''
for i in range(int(len(stringBins)/8)):
    flag+=chr(int(stringBins[num:num+8],2))
    num+=8
 
print(flag)
rar-passwd:0ac1fe6b77be5dbe

然后获得rar的密码放入winhex,看到了xml,就发现是doc 然后打开看到了有白色的密文破解一下在这里插入图片描述
用base64,就得到了
在这里插入图片描述
发现一行75个不够数,然后换一个思路,突然发现这些0能组成字
在这里插入图片描述

MRCTF{He1Lo_mi5c~}

你能看懂音符吗 | SOLVED |

下载下来发现rar损坏,用winhex修复一下,解压发现里面内容都消失了
然后使用winhex,发现他是有pk,压缩格式,然后就改后缀名,找最后找到了
使用翻译网址

MRCTF{thEse_n0tes_ArE_am@zing~}

CyberPunk | SOLVED |

打开是一个程序,只需要把自己电脑时间改成2020/09/17就能获得flag了

MRCTF{We1cOm3_70_cyber_security}

ezmisc | SOLVED |

高度问题,使用脚本
这个脚本是一个大佬哪里拷贝过来的,我忘记的大佬的地址了抱歉抱歉

import zlib
import struct

filename = 'flag.png'
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(),16)
    data = bytearray(all_b[12:29])
    n = 4095            #理论上0xffffffff,但考虑到屏幕实际/cpu,0x0fff就差不多了
    for w in range(n):          #高和宽一起爆破
        width = bytearray(struct.pack('>i', w))     #q为8字节,i为4字节,h为2字节
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("宽为:",end="")
                print(width)
                print("高为:",end="")
                print(height)
                exit(0)

算出高度,就能看到图片露出flag

MRCTF{1ts_vEryyyyyy_ez!}

pyFlag | SOLVED |

发现每个图片放进winhex里面发现又zip,什么都分不出来,后来发现是zip分开放在3个图片中,然后复制整合一下,就有了带锁的zip,用破解软件,发现密码1234,得到了
玩py玩多了发现了这个没完成
在这里插入图片描述
通过提示知道了是base16 base32 base48 base85

b'475532444B4E525549453244494E4A57475132544B514A54473432544F4E4A5547515A44474D4A5648415A54414E4257473434544B514A5647595A54514D5A5147553444474D5A5547453355434E5254475A42444B514A57494D3254534D5A5447555A444D4E5256494532444F4E4A57475A41544952425547343254454E534447595A544D524A5447415A55493D3D3D'
b'GU2DKNRUIE2DINJWGQ2TKQJTG42TONJUGQZDGMJVHAZTANBWG44TKQJVGYZTQMZQGU4DGMZUGE3UCNRTGZBDKQJWIM2TSMZTGUZDMNRVIE2DONJWGZATIRBUG42TENSDGYZTMRJTGAZUI==='
b'54564A4456455A3757544231583046795A5638305833417A636B5A6C593352665A47566A4D47526C636E303D'   
b'TVJDVEZ7WTB1X0FyZV80X3AzckZlY3RfZGVjMGRlcn0='
b'MRCTF{Y0u_Are_4_p3rFect_dec0der}'
附加脚本 建议使用python3

import base64

b85=base64.b85decode("G&eOhGcq(ZG(t2*H8M3dG&wXiGcq(ZG&wXyG(j~tG&eOdGcq+aG(t5oG(j~qG&eIeGcq+aG)6Q<G(j~rG&eOdH9<5qG&eLvG(j~sG&nRdH9<8rG%++qG%__eG&eIeGc+|cG(t5oG(j~sG&eOlH9<8rH8C_qH9<8oG&eOhGc+_bG&eLvH9<8sG&eLgGcz?cG&3|sH8M3cG&eOtG%_?aG(t5oG(j~tG&wXxGcq+aH8V6sH9<8rG&eOhH9<5qG(<E-H8M3eG&wXiGcq(ZG)6Q<G(j~tG&eOtG%+<aG&wagG%__cG&eIeGcq+aG&M9uH8V6cG&eOlH9<8rG(<HrG(j~qG&eLcH9<8sG&wUwGek2)")
b16=base64.b16decode(b85)
b32=base64.b32decode(b16)
b16=base64.b16decode(b32)
b64=base64.b64decode(b16)
print(b64)

解密一下就知道,85->16->32->16->64 大杂烩

MRCTF{Y0u_Are_4_p3rFect_dec0der}

Unravel!! | SOLVED |

图片和音乐中分离出来,2个文件,我觉得是兔子(rabbit)加密,
在这里插入图片描述
分离出来是这个key=U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=
key=U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=
密钥=Tokyo
AES解密=CCGandGulu
解压压缩包
然后发现有一个很好用的软件silenteye
在这里插入图片描述

MRCTF{Th1s_is_the_3nd1n9}

不眠之夜 | SOLVED|

拼图拿答案在这里插入图片描述
请叫我拼图大师~~~真的让我彻夜未眠,呜呜呜呜

MRCTF{Why_4re_U_5o_ShuL1an??}

千层套路 | SOLVED |

使用代码

import zipfile,os def unzip(path,zfile):
    file_path=path+os.sep+zfile
    desdir=path
    print(desdir)
    srcfile=zipfile.ZipFile(file_path)
    for filename in srcfile.namelist():
        srcfile.extract(filename,desdir,pwd= bytes(zfile.split(".")[0],"utf8"))
        if filename.endswith('.zip'):
            # if zipfile.is_zipfile(filename):
            path=desdir
            zfile=filename
            unzip(path,zfile)   path="C:\\Users\\XMAO\\Desktop\\py" zfile="0020.zip" unzip(path,zfile)

解出一个rgb 得qr.txt
在这里插入图片描述
最后去掉所有得括号解得flag

from PIL import Image x = 400    #x坐标  通过对txt里的行数进行整数分解 y = 400   
#y坐标  x * y = 行数 im = Image.new("RGB", (x, y))   #创建图片 file = open('qr.txt')    #打开rbg值的文件
#通过每个rgb点生成图片 for i in range(0, x):
    for j in range(0, y):
        line = file.readline()  #获取一行的rgb值
        rgb = line.replace("\n", "").split(", ")  #分离rgb,文本中逗号后面有空格
        print(rgb)
        if(rgb[0] == ''):
            continue
        im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2])))     im.show()   #也可用im.save('flag.jpg')保存下来 im.save('flag.jpg')

MRCTF{ta01uyout1nreet1n0usandtimes}

寻找xxx | SOLVED |

题目给出一段录音,初步判断为一个电话号码,后经过听音鉴键,得到一个号码,将其发送给公众号得到一张图片,图片内容里就有flag

MRCTF{Oh!!!_Y0u_f1nd_my_secret}

Crypto:

keyborad |SOLVED|

题目给出一个文本,文本的内容判断为9键的,解得mobilephond
然而这是错误的,于是根据单词的意思,改为 mobilephone
提交成功 所以flag为

MRCTF{mobilephone}

天干地支+甲子 |SOLVED|

题目给出天干地支+甲子,于是得到
根据ASCII码转换得GoodRob,提交发现并不是flag
转换得Goodjob,非GoodRob

MRCTF{Goodjob}

古典密码知多少 |SOLVED|

题目给的提示是佛曰,解得:古典密码好
题目给出一张图片,是多种密码混合在一起
蓝色的是猪圈密码,黄色的黑色的查了很久终于发现是圣堂武士和银河密码
解得FGCPFLIRTUASYON这么一串,题目又提示栅栏,于是栅栏解密后,得到FLAGISCRYPTOFUN提交后发现并不对。再次提交CRYOTIFUN,ok。

MRCTF{CRYPTOFUN}

丸~~~~~

谢谢观看,客观们在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值