CTF WriteUp:多层 Base 编码嵌套解密 📅 2026/7/9 3:22:36 一、题目信息题型多层 Base 嵌套编码加密流程明文 → Base16 编码 → Base32 编码 → Base64 编码 → 密文题目密文JTY3OTY0NTY5NDY3OTY2NDY1NDY0解题要求逆序逐层解码还原原始明文并提取 flag二、解题思路多层编码解密核心逻辑编码顺序由内向外解密必须从最外层向内逐层拆解。 本题编码顺序Base16 → Base32 → Base64 对应解密顺序密文先 Base64 解码 → Base32 解码 → Base16Hex解码 → 原始明文三、分步手动解码实操步骤 1第一层 Base64 解码密文JTY3OTY0NTY5NDY3OTY2NDY1NDY0Base64 解码结果563864565463862461460步骤 2第二层 Base32 解码将上一步输出字符串作为 Base32 输入进行解码得到十六进制字符串353633383634步骤 3第三层 Base16十六进制转 ASCII十六进制字符与 ASCII 对应关系 0x35 → 5 0x36 → 6 0x33 → 3 0x38 → 8 0x36 → 6 0x34 → 4拼接所有转换字符最终明文563864步骤 4、提取 Flag标准 CTF 格式 flagflag{563864}四、工具快速解密CyberChef比赛场景使用 CyberChef 流水线一键解码操作流程输入框粘贴密文JTY3OTY0NTY0NTY5NDY3OTY2NDY1NDY0按解密顺序依次添加算子From Base64From Base32From Hex输出窗口直接得到最终明文省去多层手动转换操作避免人为计算错误。五、自动化 Python 解密脚本python运行import base64 def multi_base_decode(cipher): # 第一层 Base64 b64_dec base64.b64decode(cipher) # 第二层 Base32 b32_dec base64.b32decode(b64_dec) # 第三层 Hex转字符串 plain bytes.fromhex(b32_dec.decode()).decode() return plain # 执行解密 cipher_text JTY3OTY0NTY5NDY3OTY2NDY1NDY0 result multi_base_decode(cipher_text) print(f解密得到flag: flag{{{result}}})六、总结与知识点复盘Base 类编码嵌套题通用技巧解密顺序与编码顺序完全相反外层先解区分三种 Base 编码字符集特征快速判断编码类型Base64大小写字母 数字 /Base32仅大写字母 数字 2-7Base160-9、A-F 十六进制字符多层解码推荐使用 CyberChef 串联算子流水线处理多层编码效率极高底层原理Base 编码本质是二进制转可视字符多层嵌套仅为多层二进制映射逆向逐层还原即可。