翻阅资料,关于新手解ctf密码题的总结
翻阅资料,关于新手解ctf密码题的个人经验总结
ctf密码题中比较简单的为古典密码,其中常见的有:
替换密码:
1.摩斯密码:用.-两种符号表示,有时也会用0和1,密文只出现两种字符时可以考虑
2.培根密码: 密文字符只有a,b,每个明文都会被替换成由a和b所组成的长度为5的字符串,与摩斯密码类似
3.核心价值观密码:用富强民主文明和谐自由平等公正法治爱国敬业诚信友善来编码
4.键盘密码:电脑键盘坐标加密,利用键盘上面的字母行和数字行来加密,用行列的坐标表示,或用键盘周边的字母WAXD表示S
5.猪圈密码:猪圈密码是一种以格子为基础的简单替代式密码,格子如下

如flag加密后是

6.ASCII编码
ASCII编码对应十进制,对应可以转换成二进制,八进制,十六进制等,有时会出现ASCII码换表的情况。
移位密码
1.凯撒密码:加密原理是把明文中所有的英文字母都在字母表中向后(或向前)按照一个固定 数目进行移位后替换成密文,而数字和非字母字符则保持不变。凯撒密码只有25种可能的密钥。如果无法判断有多少移位,可通过枚举解码。
凯撒密码变种:
每个字符都有自己的一个偏移量,但是字符的偏移量有一定的规律,如每次偏移增加一等
c = "题目所给变异凯撒"
move = 5
flag = ""
for i in c:
flag += chr(ord(i) + move)
move += 1
print(flag)
2.栅栏密码:原理是密码的移位,栅栏密码把要加密的明文分成 N 个一组,然后把每组的第 1 个字连起来,形成一段无规律的话。
3.rot13 移位数固定为13,即明文中的每个字母在字母表中向后移动13位,数字和非字母字符保持不变。
其他密码
1.base家族:
base64:密文由64个字符(A-Z,a-z,0-9,+,/)组成,末尾可能会有1或2个’=’。
base32:密文由32个字符(A-Z,2-7)组成,末尾可能会有‘=’,但最多有6个。
base16:密文由16个字符(0-9,A-F)组成。
base36:密文由36个字符(0-9,a-z)组成,加密仅支持整数数字,解密仅支持字符串,不支持中文 ,密文由36个字符(0-9,A-Z)。
base58: Base58不使用数字”0”,字母大写”O”,字母大写”I”,和字母小写”l”,以及”+”和”/”符号。
base62编码:密文由62字符(0-9,a-z,A-Z)组成。
base91编码:密文由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成 。
base100密文由 Emoji 表情组成。
Base85:通过使用五个ASCII字符来表示四个字节的二进制数据。
其中base16,32,64使用较多。
2.unicode
UTF-8:使用1到4个字节来表示一个字符,是互联网上最常用的Unicode编码方式。
UTF-16:使用2个字节或4个字节(通过代理对)来表示一个字符。
UTF-32:使用4个字节来表示一个字符,每个字符的码点直接映射为字节序列。
3.MD5
md5加密后是16位或者32位的字符,由字母和数字组成,字母大小写统一,如果符合可以尝试md5解密。有时候我们获得到的 md5 是 16 位的,其实那 16 位是 32 位 md5 的长度,是从 32 位 md5 值来的,是将 32 位 md5 去掉前八位,去掉后八位得到的。
总结:
密码题大多数套路为一至三次加密,或密码的变异等,以上均可以根据密码特点寻找解密网站,在线破解密码。
写密码题时,注意题目所给提示,并非所有平台解出的密码都正确,建议多寻找几个平台。同时,如果发现解码成功后,却显示flag有误,可以关注一下大小写,和包裹方式(问就是好几次都没注意到大小写导致没解出来)。

浙公网安备 33010602011771号