ctf密码学习题总结
1.变异凯撒
格式:flag{ }
#include<stdio.h> int main(){ char c[]= "afZ_r9VYfScOeO_UL^RWUc"; for(int i = 0;c[i]!='\0';i++){ c[i]=c[i]+i+5; } printf("%s",c); }
得到flag{Caesar_variation}
2.传统知识+古典密码分值:10
辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
信的背面还写有“+甲子”,请解出这段密文。
key值:CTF{XXX}
看到了一些年份,就在网上找出来了一份顺序表
3.try them all分值:10
4.robomunication分值:10
解题链接: http://ctf5.shiyanbar.com/crypto/robomunication/robo.rar
打开链接听音乐,啵哔哔哔......,一听就是摩斯密码,用Audacity,根据波的宽度,宽的为-,短的为.,写出来后在这里(https://www.ctftools.com/down/)解密get flag。
5.奇怪的短信分值:10
收到一条奇怪的短信:
335321414374744361715332
你能帮我解出隐藏的内容嘛?!
格式:CTF{xxx}
题中说了是短信,就想到了手机......九键输入法!
两两分组,33指的是第3个按键上的第三个字母,也就是F,,以此类推,就得到Flag.
6.围在栅栏中的爱分值:10
最近一直在好奇一个问题,QWE到底等不等于ABC?
-.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- ---
flag格式:CTF{xxx}
首先看到摩斯电码转化为对应的符号,kiqlwtfcqgnsoo
然后题中说了QWE等不等于ABC,而QWE分别为键盘中第一行前三个字母,然后我们就想到将键盘中的字母依次与ABCDEFG替换,得到rhasbenvaoylii
题中又说了围在栅栏中的爱,于是我们就试着用栅栏解密找出love。
发现在七栏中,逆序输出得到flag.
7.疑惑的汉字分值:10
现有一段经过加密的密文,内容如下:王夫 井工 夫口 由中人 井中 夫夫 由中大。请找出这段密文隐藏的消息明文。
格式:CTF{ }
看到这样的汉字,就想到了当铺密码。
当铺密码 就是一种将中文和数字进行转化的密码,算法相当简单:当前汉字有多少笔画出头,就是转化成数字几。
题目中的汉字: 王夫 井工 夫口 由中人 井中 夫夫 由中大
转换为数字:67 84 70 123 82 77 125
对照ASCII码,get flag.
8.古典密码分值:10
请对其进行解密
提示:1.加解密方法就在谜面中2.利用key值的固定结构
格式:CTF{ }
看到了数字,将其进行十进制解码(https://www.jb51.net/tools/zhuanhuan.htm?spm=a2c4e.11153940.blogcont333129.5.57da1656KJDtYs)OCU{CFTELXOUYDECTNGAHOHRNFIENM}IOTA
看到字符串中有CTF,就想到了栅栏密码,35个字符,将其分为5行7列
OCU{CFT
ELXOUYD
ECTNGAH
OHRNFIE
NM}IOTA
在进行列置换,
CTF{COU
LDYOUEX
CHANGET
HEINFOR
MATION}
连起来就得到Flag.
9.困在栅栏里的凯撒分值:10
10.Decode分值:10
解题链接: http://ctf5.shiyanbar.com/crypto/Readme.txt
首先将十六进制解码转换为字符(https://www.sojson.com/hexadecimal.html)
得到url编码
%4d%54%45%35%43%6a%45%77%4d%51%6f%78%4d%44%67%4b%4f%54%6b%4b%4d%54%45%78%43%6a%45%77%4f%51%6f%78%4d%44
%45%4b%4d%54%45%32%43%6a%45%78%4d%51%6f%78%4d%54%55%4b%4d%54%41%30%43%6a%45%77%4e%51%6f%78%4d%6a%45%4b
%4f%54%63%4b%4d%54%45%77%43%6a%6b%34%43%6a%6b%33%43%6a%45%78%4e%41%3d%
再将url编码在http://tool.chinaz.com/Tools/Unicode.aspx解得
MTE5CjEwMQoxMDgKOTkKMTExCjEwOQoxMD
EKMTE2CjExMQoxMTUKMTA0CjEwNQoxMjEK
在进行base64解密得119 101 108 99 111 109 101 116 111 115 104 105 121 97 110 98 97 114
最后根据ASCII码转换为字符,得到Flag。