做了一些CTF密码学的题目,阅读了很多大神的博客,现在做个总结,不全面的之后补充。
目录
编码
进制表示
ASCII码对照表
unicode编码
URL编码
Escape/Unescape
Base64
Base32对照表
Base16
Base91
XXencode编码
UUencode编码
aaencode编码
ROT5/13/18/47编码
jother编码
密码
栅栏密码
仿射密码
morse莫尔斯电码
RSA
Ploybius 棋盘密码 波利比奥斯方阵
普莱费尔密码 Playfair
维吉尼亚密码
曼彻斯特编码
培根密码
jsfuck
需要看图对照的
元音密码
六十甲子
键盘密码
当铺密码:
猪圈密码
跳舞的小人
需要网站解密的
新佛曰
OoK!加密
brainfuck加密
Quoted-printable
Rabbit
加密效验算法
MD5
sha1
CRC
十进制: 20 //decimal
八进制: 024 //octal
十六进制:0x14或者0X14 //hexadecimal
Bin
Oct
Dec
Hex
缩写/字符
解释
(二进制)
(八进制)
(十进制)
(十六进制)
0000 0000
0
0
0x00
NUL(null)
空字符
0000 0001
1
1
0x01
SOH(start of headline)
标题开始
0000 0010
2
2
0x02
STX (start of text)
正文开始
0000 0011
3
3
0x03
ETX (end of text)
正文结束
0000 0100
4
4
0x04
EOT (end of transmission)
传输结束
0000 0101
5
5
0x05
ENQ (enquiry)
请求
0000 0110
6
6
0x06
ACK (acknowledge)
收到通知
0000 0111
7
7
0x07
BEL (bell)
响铃
0000 1000
10
8
0x08
BS (backspace)
退格
0000 1001
11
9
0x09
HT (horizontal tab)
水平制表符
0000 1010
12
10
0x0A
LF (NL line feed, new line)
换行键
0000 1011
13
11
0x0B
VT (vertical tab)
垂直制表符
0000 1100
14
12
0x0C
FF (NP form feed, new page)
换页键
0000 1101
15
13
0x0D
CR (carriage return)
回车键
0000 1110
16
14
0x0E
SO (shift out)
不用切换
0000 1111
17
15
0x0F
SI (shift in)
启用切换
0001 0000
20
16
0x10
DLE (data link escape)
数据链路转义
0001 0001
21
17
0x11
DC1 (device control 1)
设备控制1
0001 0010
22
18
0x12
DC2 (device control 2)
设备控制2
0001 0011
23
19
0x13
DC3 (device control 3)
设备控制3
0001 0100
24
20
0x14
DC4 (device control 4)
设备控制4
0001 0101
25
21
0x15
NAK (negative acknowledge)
拒绝接收
0001 0110
26
22
0x16
SYN (synchronous idle)
同步空闲
0001 0111
27
23
0x17
ETB (end of trans. block)
结束传输块
0001 1000
30
24
0x18
CAN (cancel)
取消
0001 1001
31
25
0x19
EM (end of medium)
媒介结束
0001 1010
32
26
0x1A
SUB (substitute)
代替
0001 1011
33
27
0x1B
ESC (escape)
换码(溢出)
0001 1100
34
28
0x1C
FS (file separator)
文件分隔符
0001 1101
35
29
0x1D
GS (group separator)
分组符
0001 1110
36
30
0x1E
RS (record separator)
记录分隔符
0001 1111
37
31
0x1F
US (unit separator)
单元分隔符
0010 0000
40
32
0x20
(space)
空格
0010 0001
41
33
0x21
!
叹号
0010 0010
42
34
0x22
"
双引号
0010 0011
43
35
0x23
井号
0010 0100
44
36
0x24
$
美元符
0010 0101
45
37
0x25
%
百分号
0010 0110
46
38
0x26
&
和号
0010 0111
47
39
0x27
’
闭单引号
0010 1000
50
40
0x28
(
开括号
0010 1001
51
41
0x29
)
闭括号
0010 1010
52
42
0x2A
*
星号
0010 1011
53
43
0x2B
加号
0010 1100
54
44
0x2C
,
逗号
0010 1101
55
45
0x2D
-
减号/破折号
0010 1110
56
46
0x2E
.
句号
0010 1111
57
47
0x2F
/
斜杠
0011 0000
60
48
0x30
0
字符0
0011 0001
61
49
0x31
1
字符1
0011 0010
62
50
0x32
2
字符2
0011 0011
63
51
0x33
3
字符3
0011 0100
64
52
0x34
4
字符4
0011 0101
65
53
0x35
5
字符5
0011 0110
66
54
0x36
6
字符6
0011 0111
67
55
0x37
7
字符7
0011 1000
70
56
0x38
8
字符8
0011 1001
71
57
0x39
9
字符9
0011 1010
72
58
0x3A
:
冒号
0011 1011
73
59
0x3B
;
分号
0011 1100
74
60
0x3C
<
小于
0011 1101
75
61
0x3D
=
等号
0011 1110
76
62
0x3E
>
大于
0011 1111
77
63
0x3F
?
问号
0100 0000
100
64
0x40
@
电子邮件符号
0100 0001
101
65
0x41
A
大写字母A
0100 0010
102
66
0x42
B
大写字母B
0100 0011
103
67
0x43
C
大写字母C
0100 0100
104
68
0x44
D
大写字母D
0100 0101
105
69
0x45
E
大写字母E
0100 0110
106
70
0x46
F
大写字母F
0100 0111
107
71
0x47
G
大写字母G
0100 1000
110
72
0x48
H
大写字母H
0100 1001
111
73
0x49
I
大写字母I
1001010
112
74
0x4A
J
大写字母J
0100 1011
113
75
0x4B
K
大写字母K
0100 1100
114
76
0x4C
L
大写字母L
0100 1101
115
77
0x4D
M
大写字母M
0100 1110
116
78
0x4E
N
大写字母N
0100 1111
117
79
0x4F
O
大写字母O
0101 0000
120
80
0x50
P
大写字母P
0101 0001
121
81
0x51
Q
大写字母Q
0101 0010
122
82
0x52
R
大写字母R
0101 0011
123
83
0x53
S
大写字母S
0101 0100
124
84
0x54
T
大写字母T
0101 0101
125
85
0x55
U
大写字母U
0101 0110
126
86
0x56
V
大写字母V
0101 0111
127
87
0x57
W
大写字母W
0101 1000
130
88
0x58
X
大写字母X
0101 1001
131
89
0x59
Y
大写字母Y
0101 1010
132
90
0x5A
Z
大写字母Z
0101 1011
133
91
0x5B
[
开方括号
0101 1100
134
92
0x5C
\
反斜杠
0101 1101
135
93
0x5D
]
闭方括号
0101 1110
136
94
0x5E
^
脱字符
0101 1111
137
95
0x5F
_
下划线
0110 0000
140
96
0x60
`
开单引号
0110 0001
141
97
0x61
a
小写字母a
0110 0010
142
98
0x62
b
小写字母b
0110 0011
143
99
0x63
c
小写字母c
0110 0100
144
100
0x64
d
小写字母d
0110 0101
145
101
0x65
e
小写字母e
0110 0110
146
102
0x66
f
小写字母f
0110 0111
147
103
0x67
g
小写字母g
0110 1000
150
104
0x68
h
小写字母h
0110 1001
151
105
0x69
i
小写字母i
0110 1010
152
106
0x6A
j
小写字母j
0110 1011
153
107
0x6B
k
小写字母k
0110 1100
154
108
0x6C
l
小写字母l
0110 1101
155
109
0x6D
m
小写字母m
0110 1110
156
110
0x6E
n
小写字母n
0110 1111
157
111
0x6F
o
小写字母o
0111 0000
160
112
0x70
p
小写字母p
0111 0001
161
113
0x71
q
小写字母q
0111 0010
162
114
0x72
r
小写字母r
0111 0011
163
115
0x73
s
小写字母s
0111 0100
164
116
0x74
t
小写字母t
0111 0101
165
117
0x75
u
小写字母u
0111 0110
166
118
0x76
v
小写字母v
0111 0111
167
119
0x77
w
小写字母w
0111 1000
170
120
0x78
x
小写字母x
0111 1001
171
121
0x79
y
小写字母y
0111 1010
172
122
0x7A
z
小写字母z
0111 1011
173
123
0x7B
{
开花括号
0111 1100
174
124
0x7C
|
垂线
0111 1101
175
125
0x7D
}
闭花括号
0111 1110
176
126
0x7E
~
波浪号
0111 1111
177
127
0x7F
DEL (delete)
删除
key或flag对应的ASCII
key
107 101 121
KEY
75 69 89
flag
102 108 97 103
FLAG
70 76 65 71
例如:原文本:You had me at hello
编码后\u0059\u006f\u0075\u0020\u0068\u0061\u0064\u0020\u006d\u0065\u0020\u0061\u0074\u0020\u0068\u0065\u006c\u006c\u006f
编码示例:
明文:hello
四种编码方式:
[Hex]:hello
[Decimal]:hello
\U [Hex]:\U0068\U0065\U006C\U006C\U006F
\U+ [Hex]:\U+0068\U+0065\U+006C\U+006C\U+006F
url编码又叫百分号编码,是统一资源定位(URL)编码方式。URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理。 现在已经成为一种规范了,基本所有程序语言都有这种编码,如js:有encodeURI、encodeURIComponent,PHP有 urlencode、urldecode等。编码方法很简单,在该字节ascii码的的16进制字符前面加%. 如 空格字符,ascii码是32,对应16进制是’20’,那么urlencode编码结果是:%20。
明文:睡觉
编码后:%e7%9d%a1%e8%a7%89
Escape/Unescape加密解码/编码解码,又叫%u编码,采用UTF-16BE模式, Escape编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u。Unescape解码/解密,就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”。
unescape可转\141 \x61 \u9ED1
编码示例:
明文:睡觉
编码后:%u7761%u89c9
base64.b64decode()
转换表
下面附上base64_list ,对应第0-第63个字符,有时python脚本要使用
base64_list = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’,‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’,‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’,‘w’, ‘x’, ‘y’, ‘z’, ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘+’, ‘/’]
下面是base64原理,A 和BC的base64编码过程:
范围:字母A-Z和数字2-7
base16中只有数字0-9以及大写字母ABCDEF
解码网站链接:http://ctf.ssleye.com
编码示例:
明文:Be slow to promise and quick to perform.
编码后:cEaIUQqljRm-oPm-kQaxhOLBZ643iN0-lRKZXOm-oPm-kNL7aPr7h9U++
编码实例:
明文:Be slow to promise and quick to perform.
编码后:H0F4@小于VQO=R!T;R!P小于F]M:7-E(&%N9"!Q=6EC:R!T;R!P97)F;W)M+@``
编码示例:
明文:alert(“Hello, JavaScript”)
编码后:
ROT5、ROT13、ROT18、ROT47 编码是一种简单的码元位置顺序替换暗码。此类编码具有可逆性,可以自我解密,主要用于应对快速浏览,或者是机器的读取,而不让其理解其意。
ROT5 是 rotate by 5 places 的简写,意思是旋转5个位置,其它皆同。下面分别说说它们的编码方式:
ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,例如当前为0,编码后变成5,当前为1,编码后变成6,以此类推顺序循环。
ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。
ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,为了好称呼,将其命名为ROT18(对数字5对,字母rot13)。
ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,例如当前为小写字母z,编码后变成大写字母K,当前为数字0,编码后变成符号_。用于ROT47编码的字符其ASCII值范围是33-126
8个字符 ! + ( ) [ ] { } 也是在console中运行就好,
这encode出来时字符串,不是js程序。
这个编码使用captfencoder软件就不行了
console中运行示例:
示例:
明文:栅栏密码加密规则示例
每组字数:5
按照字数先把明文分成:
栅栏密码加
密规则示例
先取每组第一个字:栅密
再取每组第二个字:栏规
密则
码示
加
最后得到“栅密栏规密则码示加例”。
解密则反推:
密文被分成2个字一组:
栅密
栏规
密则
码示
加例
先取每组第一个字:栅栏密码加
再取每组第二个字:密规则示例
最后得到“栅栏密码加密规则示例”
题目解密:
FOKLPLA
CGGODII
SSSDOOP
=>
FOK
LPL
ACG
GOD
IIS
SSD
OOP
=>
FLAGISOOPCOISOKLGDSDP
=>
FLAG IS OOPCOISOKLGDSDP
仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母。
加密函数:E**(x) = (ax + b) (mod m)**,a与m互质,b任意取,其中 a与m互质,m是编码系统中字母的个数(通常都是26)。
举个例子:
我们以 E(x)=(5x+8) mod 26函数为例子进行介绍,加密字符串为 AFFINECIPHER,这里我们直接采用字母表26个字母作为编码系统
密文就是IHHWVCSWFRCP。
解密过程:
1.先求解5关于模26的乘法逆元,为21
2.解密函数就是D(x) = 21(x - 8) mod 26
3.解密如下:
摩斯电码不区分大小写,注意转换
对照表
morse与ascii对照表:
参数:
p、q
个不相等的质数
n
p和q的乘积
φ(n)
(p-1)(q-1)
e
1< e < φ(n),且e与φ(n) 互质
d
ed被φ(n)除的余数为1
n,e
公钥
n, d
私钥
m
明文
c
密文
密钥生成过程:
1.选择两个不相等的质数p和q。
爱丽丝选择了61和53。
p=61 q=53
(实际应用中,这两个质数越大,就越难破解,即大数)
2.计算p和q的乘积n。
n = 61×53 = 3233
(n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。
人类已经分解的最大整数(232个十进制位,768个二进制位)
3.计算n的欧拉函数φ(n)。
根据公式:
φ(n) = (p-1)(q-1)
φ(n)=60×52 为3120
(爱丽丝算出φ(3233)等于60×52,即3120)
4.随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。
爱丽丝就在1到3120之间,随机选择了17。
(实际应用中,常常选择65537。)
5.计算e对于φ(n)的模反元素d。
所谓"模反元素"就是指有一个整数d,可以使得ed被φ(n)除的余数为1。
ed ≡ 1 (mod φ(n))
这个式子等价于
ed - 1 = kφ(n)
于是,找到模反元素d,实质上就是对下面这个二元一次方程求解。
ex + φ(n)y = 1
已知 e=17, φ(n)=3120,
17x + 3120y = 1
这个方程可以用"扩展欧几里得算法"求解,此处省略具体过程。总之,爱丽丝算出一组整数解为 (x,y)=(2753,-15),即 d=2753。
至此所有计算完成。
6.将n和e封装成公钥,n和d封装成私钥。
在爱丽丝的例子中,n=3233,e=17,d=2753,所以公钥就是 (3233,17),私钥就是(3233, 2753)。
公钥:(n,e)
私钥:(n,d)
爱丽丝将公钥发送给我,我对信息加密,发送给爱丽丝后,爱丽丝利用手中的私钥解密。
加密和解密过程:
1.加密要用公钥钥(n,e)
假设鲍勃要向爱丽丝发送加密信息m,他就要用爱丽丝的公钥 (n,e) 对m进行加密。这里需要注意,m必须是整数(字符串可以取ascii值或unicode值),且m必须小于n。
所谓"加密",就是算出下式的c:
爱丽丝的公钥是 (3233, 17),鲍勃的m假设是65,那么可以算出下面的等式:
6517 ≡ 2790 (mod 3233)
于是,c等于2790,鲍勃就把2790发给了爱丽丝。
m是明文,c是密文
2.解密要用私钥(n,d)
爱丽丝拿到鲍勃发来的2790以后,就用自己的私钥(3233, 2753) 进行解密。可以证明,下面的等式一定成立:
也就是说,c的d次方除以n的余数为m。现在,c等于2790,私钥是(3233, 2753),那么,爱丽丝算出
27902753 ≡ 65 (mod 3233)
因此,爱丽丝知道了鲍勃加密前的原文就是65。
至此,"加密–解密"的整个过程全部完成。
参考:
1.RSA算法原理(一)(二)
https://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
https://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
套路:
https://err0rzz.github.io/2017/11/14/CTF%E4%B8%ADRSA%E5%A5%97%E8%B7%AF/index.html
例题:04.Ploybius
Polybius Square Cipher波利比奥斯方阵密码
密文位数是明文2倍
下面横行为i 竖行为j eg.L:(3,1)
i,j
1
2
3
4
5
1
A
B
C
D
E
2
F
G
H
I/J
K
3
L
M
N
O
P
4
Q
R
S
T
U
5
V
W
X
Y
Z
(英文:Playfair cipher 或 Playfair square)
是一种使用一个关键词方格来加密字符对的加密法
例题:Cipher
步骤:
编制密码表
密钥编成方阵
eg1:
密钥方阵并不确定,最常见就这两种,也有playfair zxwv。。。这种反着的
eg2:
编写密文
最后编写密文。对明文加密规则如下:
1 若p1 p2在同一行,对应密文c1 c2分别是紧靠p1 p2 右端的字母。其中第一列被看做是最后一列的右方。如,按照前表,ct对应dc
2 若p1 p2在同一列,对应密文c1 c2分别是紧靠p1 p2 下方的字母。其中第一行被看做是最后一行的下方。
3 若p1 p2不在同一行,不在同一列,则c1 c2是由p1 p2确定的矩形的其他两角的字母(至于横向替换还是纵向替换要事先约好,或自行尝试)。如,按照前表,wh对应ku或uk。
如,依照上表,明文where there is life,there is hope.
可先整理为:WH ER ET HE RE IS LI FE TH ER EI SH OP EX
然后密文为:KU YO XD OL OY PL FK DL FU YO LG LN NG LY
将密文变成大写,然后几个字母一组排列。
如5个一组就是KUYOX DOLOY PLFKD LFUYO LGLNN GLY
解密
Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。
对密文解密规则如下:
1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
其实就是反其道而行之。
例如,假设明文为:
ATTACKATDAWN
选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:
LEMONLEMONLE
对于明文的第一个字母A,对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母L。类似地,明文第二个字母为T,在表格中使用对应的E行进行加密,得到密文第二个字母X。以此类推,可以得到:
明文:ATTACKATDAWN
密钥:LEMONLEMONLE
密文:LXFOPVEFRNHR
用来加密解密的维吉尼亚表格:
IEEE形式的,每四位取1 3 位就可以得到原本的Data
得到data后对其二进制进行处理
例题:buuctf传感器
一、培根密码加密方式
第一种方式:
A aaaaa B aaaab C aaaba D aaabb E aabaa F aabab G aabba H aabbb I abaaa J abaab
K ababa L ababb M abbaa N abbab O abbba P abbbb Q baaaa R baaab S baaba T baabb
U babaa V babab W babba X babbb Y bbaaa Z bbaab
第二种方式
a AAAAA g AABBA n ABBAA t BAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB
二、举例
例1、 baabaaabbbabaaabbaaaaaaaaabbabaaaabaaaaaabaaabaabaaaabaabbbaabbbaababb
baaba aabbb abaaa bbaaa aaaaa abbab aaaab aaaaa abaaa baaba aaaba abbba abbba ababb
s h i y a n b a i s c o o l
例2、明文是LOVE,用“随意选取句子和文”加密,得到密文就是“SuLyi XuanQ uJuZi HEwEN”(这里用大写字母代表a,小写字母代表b)
这里,加密者使用两种不同字体,准备好一篇包含相同ab字数的假信息后,即两种字体分别代表a型和b型。然后假信息中的每个字母按字体来决定其代表“a”还是“b”。
SuLyi XuanQ uJuZi HEwEN
ababbabbbabababaabaa
例3、明文:now is a good t…
n o w i s a g o o d t
abbaa abbab babaa abaaa baaab aaaaa aabba abbab abbab aaabb baaba
密文:BOWED ASTER PINED JOKED THEIR BLACK HASTE ARRAY INSET CHEST SLING
加密规则:(1)a-m -> a ,也就是说 a ——m 的所有字母都能替换成 a。
n-z -> b ,也就是说 n ——z 的所有字母都能替换成 b。
(2)a-m <- a ,也就是说 a 可以替换 a——m 中的任何一个字母。
n-z <- a ,也就是说 b 可以替换 n——z 中的任何一个字母。
Ps:密文中的单词都是根据加密规则随便拼凑出来的,为了使加密更隐蔽,一般拼凑出来的单词可连成通顺的一句话
JSFuck 可以让你只用 6 个字符 []()!+ 来编写 JavaScript 程序。
jsfuck一种表示js的语言,直接在console中运行就好
captfencoder可离线跑
例题:web5
找不到线索,只有一堆括号什么的
找wp,用google的console输入这串符号,火狐的还用不了,复制不进去
元音密码表:
下面就可以对信息进行加密了 比如明文是:
When in Rome,do as the Romans do.(入乡随俗)
根据密码表加密为(注意,数字之间加点): 52.23.2.35.3.35.43.4.34.2.13.4.1.44.45.2.43.4.34.1.35.44.13.4
例题:告诉你个秘密
当铺密码就是一种将中文和数字进行转化的密码,算法相当简单:当前汉字有多少笔画出头,就是转化成数字几。例如:
口 0 田 0 由 1 中 2 人 3 工 4
大 5 王 6 夫 7 井 8 羊 9
传统:
变种1:
变种2:
圣堂武士密码
银河标准字母
来自夏洛克福尔摩
斯在《归来记》中侦探案件使用的一种加密方式。
解密网址:
http://hi.pcmoe.net/buddha.html
諸壽隸僧壽降吽壽諸壽陀壽摩隸僧缽薩願心壽咤壽囉寂壽闍諸壽哆壽慧壽聞壽色吽愍壽所壽蜜如
gemlovecom
也有脚本可解密
样子:
解密网站:
https://www.splitbrain.org/services/ook
八种符号(> < + - . , [ ]),也有脚本可解密
样子:
解密网站:
https://tool.bugku.com/brainfuck/
Quoted-printable将任何8-bit字节值可编码为3个字符:一个等号"="后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。
例如,ASCII码换页符(十进制值为12)可以表示为"=0C", 等号"="(十进制值为61)必须表示为"=3D",gb2312下“中”表示为=D6=D0。除了可打印ASCII字符与换行符以外,所有字符必须表示为这种格式。
notepad++和captfencode偶尔能解,但遇到中文=D6=D0就不会了
解码网站:
http://ctf.ssleye.com/
rabbit加密有base64显示形式和hex显示形式,然后密文不唯一,
例如对一个Cute_Rabbit加密有很多种密文:
U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI
U2FsdGVkX18RWTkternW9o4I+lRGrqHAjGN9
U2FsdGVkX1/pfkxaegi0iXaw89BiLrZIXCxs
解密网站:
http://tool.chinaz.com/Tools/TextEncrypt.aspx
可使用 MTracer正则测试.exe 跳转到解密网站
需要网站碰撞 cmd5网站
由a-z A-Z 0-9组成
有16位的也有32位的
md5需要爆破的例题:
buuctf:
丢失的MD5
rot
还原大师
sha1(asdfafasdf)= 1366ed1868270a692348291cc90f4a40c126bf4d
---------------------
作者:Ahuuua
来源:CSDN
原文:https://blog.csdn.net/Ahuuua/article/details/109189985
版权声明:本文为作者原创文章,转载请附上博文链接!