目录
第一题:MD5
工具:https://www.cmd5.com/——用来解MD5码
解题思路:
1、下载解压得到一串MD5码
2、
通过https://www.cmd5.com/,输入得到的MD5码,解密得到flag
第二题:变异凯撒
解题思路:
1、首先明白凯撒密码的原理
凯撒密码是最早的代换密码,使用单表代换。其基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是4的时候,所有的字母A将被替换成E,B变成F,以此类推W将变成A,X变成B。位数就是凯撒密码加密和解密的密钥。
2、打开压缩包
加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }
密码与数字有关,所以先将密文转换成ascii码:97,102,90,95,114,57,86,89~没有发现数字规律,压缩包除了密文就是格式,将flag也转换ASCII码:102,108,97,103 两组数字比较发现第一位差5位,第二位差6位,第三位差7位,第四位差8位,可见凯撒密码是递增的。
#include <stdio.h>
#include <string.h>
int main(){
char str[] = "afZ_r9VYfScOeO_UL^RWUc";
int k = 5;
for(int i = 0; i < strlen(str); i++){
str[i] += k;
k++;
printf("%c",str[i]);
}
return 0;
}
代码运行结果即为答案
第三题:丢失的MD5
解题思路:
1、下载解压得到md5.py,运行得到报错
2、根据错误提示加上encode3、运行出结果
第四题:传统知识+古典密码
解题思路:
1、打开压缩包
2、两个信息,第一个明显跟传统知识天干地支有关
对比得28 30 23 08 17 10 16 30,然后再看到信的背面还有一个+甲子,一甲子60年,然后把60加到上面一段数字中可以得到数字串:88 90 83 68 77 70 76 90,可能是数字,但更有可能是ASCII码XZSDMFLZ。
3、传统知识基本解完了,接下来是古典密码部分,古典密码主要有栅栏,凯撒,棋盘,摩丝等等,最常见的应该是栅栏和凯撒,在查询过程中得到两个解密网站,分享在这里http://ctf.ssleye.com/?tdsourcetag=s_pcqq_aiomsg,栅栏加密/解密 - Bugku CTF,压缩包给了两个文件,第一个与传统知识有关,我一直以为第二个与古典密码有关,试了几次发现解不出什么,后来上网查,有人说第二个是迷惑文件(这也行?)
栅栏枚举一下出来俩 XMZFSLDZ,XSMLZDFZ,
4、以为答案是其中之一,结果不是。。。没办法,只能上网查一下。。。又用了凯撒密码,不知道key,枚举答案有50个左右,连蒙带猜答案最后是SHUANGYU