CTF Misc Writeup

写一些有趣的 Misc 题的 Writeup。

如未特殊标注,所有题目均来自攻防世界

看不见的 100 分

一个成绩单.exe 文件,一眼 WinRAR SFX

解压后一个成绩单.png 文件,一个隐藏的 100分.zip 文件

100分.zip

典型的 doc 文件结构,改后缀打开,发现一片空白。不过全选有东西。

复制出来到文本编辑器中 / 开启护眼模式 / 调整字体颜色等等方式,可以看到一串 emoji (其他均为空格):

1
👝👣👘👞👲👚🐰👛🐭🐪🐫👙🐫🐰🐨👜🐫🐬🐪🐬🐩👚🐨🐭👛🐬🐧🐭🐩🐨🐬🐫🐮🐬🐪🐧👛👴

想到 base100,随便找个平台解密得:

flag{c9d634b491e45352c16d50621547530d}

jpg

binwalk 分离出一个 png 和一个 rar 压缩包,需要密码

用 ARCHPR 暴力得到密码 123456,解压后是一个明文文件 ZmxhZy5jb2Rl。

解 base64 得到:

像 hex string,转换成文件后 file

用 IDA 载入,发现报错 hex-rays decompiler not found。改用 Cutter,找到关键函数:

直接对整个程序的全部内容 xor 0x37,得到:

Null-Terminated String

结合题目要求 flag需要包含RCTF{},结果为:

RCTF{orz_u_Get_The.C0D3_F1@9}

Keyword

一张图:

基础方法都试一遍发现不行,考虑 lsb 加密

此处下载 python3 对应的版本,然后 pip install pycryptodome,最后

1
python3 lsb_for_py3.py extract <加密文件> <输出文件> <密钥>

得到一个字符串 PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}

根据题目的 Keyword 想到是关键词密码,随便找一个网站得到 QCTF{CCGELDNRIBCX9G1G13KFFELNSNMRDOWF},输入进去发现不对。。。

最后想到可能是大小写问题,用 ai 写个脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def keyword_cipher_case_sensitive(keyword, text):
keyword_upper = keyword.upper()
seen = set()
keyword_processed = []
for char in keyword_upper:
if char not in seen and char.isalpha():
seen.add(char)
keyword_processed.append(char)

remaining = [chr(i) for i in range(65, 91) if chr(i) not in seen]
cipher_upper = keyword_processed + remaining
cipher_lower = [c.lower() for c in cipher_upper]

plain_upper = [chr(i) for i in range(65, 91)]
plain_lower = [c.lower() for c in plain_upper]

map_upper = dict(zip(cipher_upper, plain_upper))
map_lower = dict(zip(cipher_lower, plain_lower))

result = []
for char in text:
if char in map_upper:
result.append(map_upper[char])
elif char in map_lower:
result.append(map_lower[char])
else:
result.append(char)
return ''.join(result)

ciphered = "PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}"
keyword = "lovekfc"
print(keyword_cipher_case_sensitive(keyword, ciphered))

QCTF{cCgeLdnrIBCX9G1g13KFfeLNsnMRdOwf}

PS:看官方 writeup 发现是 Nihilist 密码


CTF Misc Writeup
https://refrain69.pages.dev/ctf-misc-writeup/
发布于
2025年5月12日
许可协议