目录

Misc Writeup

记录一些有趣的 CTF Misc 题目。

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

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

看不见的100分-1

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

看不见的100分-2

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

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

看不见的100分-3

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

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

flag{c9d634b491e45352c16d50621547530d}

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

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

解 base64 得到:

jpg-1

像 hex string,转换成文件后 file

jpg-2

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

jpg-3

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

Null-Terminated String

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

RCTF{orz_u_Get_The.C0D3_F1@9}

一张图:

Keyword-1

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

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

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

得到一个字符串 PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}

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

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

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 密码