题目地址:攻防世界 (xctf.org.cn)
先了解一下base64的原理:
这原理是ai写出来的直接搬过来用嘞。
Base64是一种编码方法,用于将二进制数据转换成由64个可打印字符组成的文本字符串。这种编码通常用于在不支持二进制数据的系统之间传输数据,例如在电子邮件、网页或XML中嵌入图像数据。
-
二进制数据准备:首先,需要编码的数据通常以二进制串的形式存在。如果数据已经是文本,首先需要将其转换为二进制。
-
分组:将二进制数据分成每组3个字节(24位)的组。这是Base64编码的基本单位。
-
索引映射:对于每组3个字节,将其视为一个24位的整数。然后将这个整数映射到一个索引上,该索引位于0到2^24-1的范围内。
-
字符映射:使用Base64的索引表将每个24位的索引映射到一个特定的字符上。Base64的字符集通常包括大写字母(A-Z)、小写字母(a-z)、数字(0-9)以及两个特殊符号(+和/)。
-
填充:如果原始数据的字节数不是3的倍数,需要添加一些填充字节(通常是
=
),以确保最后一个分组也有3个字节。填充的目的是确保编码后的输出长度是4的倍数。 -
编码输出:将所有映射后的字符连接起来,形成最终的Base64编码字符串。
-
解码:解码过程是编码的逆过程。它从Base64编码的字符串开始,将每个字符映射回24位的索引,然后将这些索引重新组合成原始的二进制数据,并去掉填充。
Base64编码的一个关键特点是它能够将任何二进制数据转换为一种ASCII字符串形式,这样就可以安全地在文本环境中传输。然而,由于编码过程中使用了字符集映射,所以编码后的数据会比原始数据体积大约33%。
开始解题:将我们下载的文件文本打开看到
复制下来打开在线工具base64解码(也可以用ctf-tools解密工具)
拿到flag:cyberpeace{Welcome_to_new_World!}提交