题目:[LitCTF 2023]Is this only base?
知识点:栅栏密码:就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)
根据题目标签提示,下载附件,
在随波逐流信息安全网这个网站里进行解码/编码:
1.栅栏编码,根据附件的提示:23栅栏
2.base64编码
3.凯撒编码,
4.把flag变成NSSCTF形式(说明一下:做法大概就是这样,如果结果不对,具体答案按照其他WP修改一下)
题目:[SWPUCTF 2021 新生赛]ez_caesar
在随波逐流信息安全网这个网站里进行解码/编码:
1.利用kimi,解析附件,
发现#str="U1hYSFlLe2R0em1mYWpwc3RiaGZqeGZ3fQ=="是一段经过凯撒和base编码的字符串,
2.先base解码
3.凯撒解码,得到flag
题目:[CatCTF 2024]Signin
根据题目标签“凯撒密码”“ROT”,打开附件,
一个小技巧:如果不知道如何将一段数据转化为flag,可以问问Kimi.ai:将这段(数据)转化为含有“ctf”的形式,Kimi也许能给你一些思路,甚至是最终答案(但是这题不要这么干,虽然我最后确实依靠Kimi得到了答案,但是过程太痛苦了,因为附件给你的其实就是16进制字符串,然而Kimi一开始认为它是base编码的数据,所以他给了我脚本然后我去运行,出错,反馈给Kimi,修正,运行,报错,反馈......如此反复了好久大概30多分钟)
根据Kimi可知,这段数据是16进制编码字符串而且可以转为字节,查看大佬的代码
这段代码的意思是
- 打开一个名为
output.txt
的文件并读取其内容到字符串s
中。 - 将字符串
s
从十六进制转换为字节序列。 - 打印出转换后的字节序列
s
。 - 打印出一些字符之间的ASCII差值的十六进制表示。
- 尝试打印出一个新的字节序列,该序列是通过从
s
中的每个字节减去3得到的。
这段代码运行时会出错,让Kimi帮你修改一下,记得把output.txt(也就是你的附件下载文件) 转移到你运行的py程序所在的文件夹,不然程序找不到output.txt,
得到结果
catctf{U51nG_Pr3Fix_catctf_70_F1nd_p4terNs_of_Caesar}
题目:来自宇宙的信号
怎么说呢,这道题如果不看“讨论”我甚至不知道flag是小写,所以具体做法就是看讨论,非常简单
题目:[SWPUCTF 2021 新生赛]crypto6
分析问题,根据提示可得,flag经过base编码得到4A5A4C564B36434E4B5241544B5432454E4E32465552324E47424758534D44594C4657564336534D4B5241584F574C4B4B463245365643424F35485649534C584A5A56454B4D4B5049354E47593D3D3D
所以我们应该逆向进行解码,在随波逐流信息安全网这个网站里进行解码/编码:
base16--->base32--->base64
得到flag:
5e110989-dc43-1bd3-00b4-9009206158fe