Base家族
base16
由大写字母(A-Z)和数字(0-9)组成,通常不需要“=”填充
base32
由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充
例:NZXV64DBONZXO33SMQ======
KVEEQRSCI5DVKVSXKZEUQS2FJBKE2WKKGI2EKNCWJFCUQNSKIVAVINBTKVKE2TZUKVHUWRZWGRIVSVSNJZJFIQKNIZLDINKHJQ2FSQKWJVBUSTSIKFLVMSKFKNFEGVZVKVGEMSJWJMZDMVSTJNDUQQSGI5KEYN2LKY2DETKWK5EEQTSCGJDFMU2IJA3ECTKVKVNEWU2CIFGUYVKBIRJEMRSRINKE2TKGKAZU6M2UJVAVAUSLKFDFMRKGJFMDITR5
base58
比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/
例:Wj3QhuDFCYdorrG5EAQCJnAPtEs9w2k7uiiUrj1cZgnbfnLfByD8iSA3f8bZQeGnS8LvDWcpCm5koi1
base64
由字符A-Z,a-z,0-9和‘+’和‘/’组成,不满3的倍数用“=”补齐
例:V143Pytkc2lAYlV3SlRmVXQ9X0dVdmd6KEYpP3t4V29+MElXSER9TUEkPA==
base85
奇怪的字符多一些,一般没有“=”
例:=)'NgBQZ46Wmr<EcOZ-76sd<8o?pkF@C72G;<qmF_PPiEb[==>%__Ao::S6?tsYBi@;RAiO7';.W78;`IHo6s!l;6Z"\rDeUp
base91
由0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”组成
base100
就是一堆emoji表情
base2048
例:Жఱ൲ඌיય೬ࢶЖۍךะtঋළม۹ρԊҽඹ
brainfuck
><+-.,[]组成
JJencode,aaencode
jjencode代码,就是将正常的js代码转换成复杂的只有符号的字符串编码,
进行加密如:[$.$]+$.$+“,\”+$.$+$.+“\”+$.$+$.$+$这样的组合。aaencode代码,则是将正常的js代码转为好玩的特殊网络表情符号。
如:/=/m)ユソo=(—)这样的表情文字
URl编码
有百分号
例:th1s_1s_a_fl4g%0a
盲文加密
⡇⡓⡄⡖⠂⠀⠂⠀⡋⡉⠔⠀⠔⡅⡯⡖⠔⠁⠔⡞⠔⡔⠔⡯⡽⠔⡕⠔⡕⠔⡕⠔⡕⠔⡕⡍=
Ook
Ook.!?
凯撒密码
字符移位
例:Gmbhjtdbftbs
键盘加密
根据字母在键盘上的位置来看是哪个字母
例:EWAZX RTY TGB IJN IO KL
这个就是CTF
乱码
有时候会遇到一大串字符乱码,可以尝试用十六进制编辑器利用工具解码,比如010editor
福尔摩斯小人编码
这个直接对照表来解密
音符解码
利用在线网站解密
文本加密为音乐符号,可自设密码|文本在线加密解密工具
例:♭♯♪‖¶♬♭♭♪♭‖‖♭♭♬‖♫♪‖♩♬‖♬♬♭♭♫‖♩♫‖♬♪♭♭♭‖¶∮‖‖‖‖♩♬‖♬♪‖♩♫♭♭♭♭♭§‖♩♩♭♭♫♭♭♭‖♬♭‖¶§♭♭♯‖♫∮‖♬¶‖¶∮‖♬♫‖♫♬‖♫♫§=
敲击码
这个也是对照着表进行解密
注:K被整合到了C中
例:21就是F
MD5
看到32位就想起这个,有大小写,也有16位的
例:WVRKc2MySkhWbmxqV0Zac1dsYzBQUT09
中文电码
特定加密方法,使用在线网站进行解密
中文电码查询 - 中文电码转换 - 中文电码对照表
例:0086 1562 2535 5174
两个数也不一定是这个,也有可能是相加或者其他运算
五笔输入法
使用五笔输入法输入被加密之后的字符串得到中文密文
例:bnhn s wwy vffg vffg rrhy fhnv
原文是也:要从娃娃抓起
U2FsdGVkX1—加了盐的加密
加盐(Salt)是在加密时使用的一个随机值,目的是防止攻击者通过预先计算的哈希表(如彩虹表)快速破解加密数据。通常,盐值会与密码结合,通过一个密钥衍生函数(如 PBKDF2)生成一个足够强的密钥
常用的对称加密
DES(需要8位密钥)Triple DES(需要24位密钥)AES(需要16位或24位或32位密钥)、RC4等等
需要秘钥的加密方式
维吉尼亚密码->Playfair密码->数据加密标准 (DES)->三重DES (Triple DES)->AES->RC4->Rabbit等等……(越到后边越需要复杂的条件)
零宽字符隐写
将要隐藏的信息编码为零宽字符序列,并将其插入到文本中的某些特定位置。因为这些字符在普通文本显示时不可见,所以文本看起来与原始文本没有区别
例如:这里好像有什么东西,你看见了嘛,是我看错了嘛
解密后为it_is_k3y
二进制
只有两中字符组成的字符串想到二进制
有时候01很多的时候也可以猜测是用01来画图隐藏信息,可以把它们全部输出远一点看可以看出端倪
在线网站进行解密
2进制到ASCII字符串在线转换工具 - Coding.Tools
Rot13
只改变字母,不改变数字
替换密码,可以猜测是rot13
例:ZEPGS{guRfr_a0grf_NeR_nz@mvat~}
DNA解码
利用碱基对进行加密
下面是之前写过的一个题目官方给出的WP中的解密脚本
import sysbin_dna = {'00':'A','10':'C','01':'G','11':'T'}
mapping = {'AAA':'a','AAC':'b','AAG':'c','AAT':'d','ACA':'e','ACC':'f', 'ACG':'g','ACT':'h','AGA':'i','AGC':'j','AGG':'k','AGT':'l','ATA':'m','ATC':'n','ATG':'o','ATT':'p','CAA':'q','CAC':'r','CAG':'s','CAT':'t','CCA':'u','CCC':'v','CCG':'w','CCT':'x','CGA':'y','CGC':'z','CGG':'A','CGT':'B','CTA':'C','CTC':'D','CTG':'E','CTT':'F','GAA':'G','GAC':'H','GAG':'I','GAT':'J','GCA':'K','GCC':'L','GCG':'M','GCT':'N','GGA':'O','GGC':'P','GGG':'Q','GGT':'R','GTA':'S','GTC':'T','GTG':'U','GTT':'V','TAA':'W','TAC':'X','TAG':'Y','TAT':'Z','TCA':'1','TCC':'2','TCG':'3','TCT':'4','TGA':'5','TGC':'6','TGG':'7','TGT':'8','TTA':'9','TTC':'0','TTG':' ','TTT':'.'}def bin_2_code(string):string = string.replace(" ","")string = string.replace("\n","")final=""for j in range(0,len(string),2):final+=bin_dna[string[j:j+2]]return finaldef decode_dna(string):final=""for i in range(0,len(string),3):final+=mapping[string[i:i+3]]return finalprint(decode_dna("GCAGTTCTGCTGGGGGGTGTACTAGAGTGACTCGTTGCAGTTGTATACGCATATCTGGTGGGGGTATCCCTTGATCGTGCACTGTCCTAAGCAGCAGAAGAGTCCCTGGCAGCTCTATAAGATCTTCTAGTGGGGGCTGTAGCAGAGGTTCGGGTTGAGGCTCGTGTCGCAGTTGCACTGTCCGTCTATGTGGCAGTTGACGTGTAAGGTTATTAAGAAGGTGAGGTTGTAGTTGTAGCTGATTATGATCTTGAGGGGGCAGCTGAGTATGCCCTCGAGGCTGCAGACGATGGGTCCCTTGTAGGGGCATAAGATGTTCGTGTGGTAGTCGTAGAGGCACTTGCCGTTGCGGTAGCACTTGCAGCTCTTCTGGAAGTTTATGTTGCAGTTGAACTGGCGGTAGATTAAGATGCGTATCTCGCGGTTGTAGTCGATGCTCTCGTGGGGGGGGTAGAAGAGTGAGCACTGTAGGCTTCCGCCGCATAGTCCCTCCTGGTCGCATAAGCATGACTGCTGGGGGTCGTACTAGAAGATCTCCTTGCGGTGTCCGAGGATCGGTCGCTGCTAGTCGCAGTTGCAGTTGCTCTGTAAGTGTCCCTAGAGCTTGAAGTGTAGGTTGCACGTGAGGGTGATCTGGCGGGTGTAGGTGAGGCTGCACTGTCCGTCGCAGAAGCACGGTATGTGTGCGCGTCCGTGGATGTTCGGGTTCGGGTGGTAGCCGCACTTCTCCTTGCGGGTGCAGAAGATCTTGCGCTCGAGGTCGGTTGA"))
其中GCAGTTCTGCTGGGGGGTGTACTAGAGTGACTCGTTGCAGTTGTATACGCATATCTGGTGGGGGTATCCCTTGATCGTGCACTGTCCTAAGCAGCAGAAGAGTCCCTGGCAGCTCTATAAGATCTTCTAGTGGGGGCTGTAGCAGAGGTTCGGGTTGAGGCTCGTGTCGCAGTTGCACTGTCCGTCTATGTGGCAGTTGACGTGTAAGGTTATTAAGAAGGTGAGGTTGTAGTTGTAGCTGATTATGATCTTGAGGGGGCAGCTGAGTATGCCCTCGAGGCTGCAGACGATGGGTCCCTTGTAGGGGCATAAGATGTTCGTGTGGTAGTCGTAGAGGCACTTGCCGTTGCGGTAGCACTTGCAGCTCTTCTGGAAGTTTATGTTGCAGTTGAACTGGCGGTAGATTAAGATGCGTATCTCGCGGTTGTAGTCGATGCTCTCGTGGGGGGGGTAGAAGAGTGAGCACTGTAGGCTTCCGCCGCATAGTCCCTCCTGGTCGCATAAGCATGACTGCTGGGGGTCGTACTAGAAGATCTCCTTGCGGTGTCCGAGGATCGGTCGCTGCTAGTCGCAGTTGCAGTTGCTCTGTAAGTGTCCCTAGAGCTTGAAGTGTAGGTTGCACGTGAGGGTGATCTGGCGGGTGTAGGTGAGGCTGCACTGTCCGTCGCAGAAGCACGGTATGTGTGCGCGTCCGTGGATGTTCGGGTTCGGGTGGTAGCCGCACTTCTCCTTGCGGGTGCAGAAGATCTTGCGCTCGAGGTCGGTTGA就是被加密的字符串
PT2242信号
这个只在刷题的时候遇到过一次,叫[SCTF2019]电单车
[SCTF2019]电单车-CSDN博客
前面4bit表示同步码,中间的20bit表示地址码,后面的4bit表示功能码,最后一位是停止码
0 01110100101010100110 0010
字符串与数字串
有时候给出一串字符串和数字串可以考虑进行提取字符串对应数字位置的字符,看语义是否通顺
例:斐波那契数列题
栅栏加密
特征是一看就觉得顺序错了
例:kanbbrgghjl{zb____}vtlaln