I春秋CTF——Misc题合集
- Misc(杂项)
- 反写:
- 加解密类型
- 贝斯家族
- 那些年我追过的贝斯
- 题目名称:
- 题目描述:
- 题目解析:
- challenge
- 题目名称:
- 题目描述:
- 题目分析:
- Caesar
- 题目名称:
- 题目描述:
- 题目解释:
- Hash
- 题目名称:
- 题目描述:
- 题目分析:
- 摩斯电码
- 题目名称:
- 题目描述:
- 题目分析
- Reserve(逆向)类型:
Misc(杂项)
Misc类型的题目类型多,涉及的知识面很广。
反写:
这里主要是一个思想
加解密类型
贝斯家族
那些年我追过的贝斯
题目名称:
那些年我追过的贝丝
题目描述:
贝丝贝丝,我爱你(大声循环2的6次方ing)ZmxhZ3tpY3FlZHVfZ29nb2dvX2Jhc2U2NH
题目解析:
贝斯暗指Base32解码方式及其变形,且本题提供了2的6次方(也就是64)的暗示,选择Base64解码即得到答案。
import base64
s = 'ZmxhZ3tpY3FlZHVfZ29nb2dvX2Jhc2U2NH0='
s1 = base64.b64decode(s.encode())
print(s1.decode())s = "flag{icqedu_gogogo_base64}"
s1 = base64.b64encode(s.encode())
print(s1.decode())
在这里我附上了python代码用于Base64的编码和解码,写这段代码最大的收获是了解了decode()和encode()的作用。
decode是将字节型转化为字符型,encode则正好相反。
challenge
题目名称:
challenge
题目描述:
666c61677b686578327374725f6368616c6c656e67657d
题目分析:
从给出的“乱码可以看出都在16进制的”涉猎“范围之内,所以我们可以自然地想到Base16或者Ascii码。这里我们用Base16解码。
import base64
s=b'666c61677b686578327374725f6368616c6c656e67657d'
s=base64.b16decode(s.upper())
print("flag=",s.decode())
写完代码我学到了,在python中,Base16编码要求所有的字母都要大写。
Caesar
题目名称:
考眼力
题目描述:
gmbh{4d850d5c3c2756f67b91cbe8f046eebd}try to find the flag
题目解释:
Caesar密码是一个位移加密方式,因为前面的gmbh太经典了,符合flag的字母数量,我们试着解密:
简简单单。
Hash
题目名称:
泄露的数据
题目描述:
听说这是某个数据库的泄漏的重要数据25d55ad283aa400af464c76d713c07ad,试着找出原始key吧。flag{key}
题目分析:
我对于本题的第一反应就是Base16,发现完全不能解密,然后进行了一系列资料的查询,发现这段”乱码“符合Hash算法中的MD5,这是一个单向加密过程,无法反向解密,但是可以用大量的数据去”撞“。所以本题出题人也是煞费苦心,生怕数据库中没有flag{},还选了一个非常简单的字符串。
摩斯电码
题目名称:
嘀嘀嘀
题目描述:
…-. .-… .- --. . --… .---- -.-. .- … -.-. -… -…- --… -… -… ----. -…- …- -… .- …-- -…- ----. …-- —… …-- -…- .---- .- …-. —… -… --… —… —… .---- …-. ----- --…
题目分析
摩斯电码是以长短不一的声信号,. 代表短信号,-代表长信号,使用一一对应的字母与声信号表格进行解码。
Reserve(逆向)类型:
附件下载之后标题为babyre,这里我推断re即是reserve,使用IDA打开之后,不费吹灰之力就找到了flag。