ctf中的编码与加密

以“wy is pig”来表现各种编码的不同。目的是看到这种类型的字符串大概认得是哪种编码

1.ascii码
119 121 32 105 115 32 112 105 103

2.base64编码
d3kgaXMgcGln

3.shellcode编码
\x77\x79\x7f\x69\x73\x7f\x70\x69\x67

4.quoted printable编码
http://www.mxcz.net/tools/QuotedPrintable.aspx
无法知晓,大概是这种类型
=E6=95=8F=E6=8D=B7=E7=9A=84=E6=A3=95=E8=89=B2=E7=8B=90=E7=8B=B8=E8=B7=B3=E8
=BF=87=E4=BA=86=E6=87=92=E6=83=B0=E7=9A=84=E7=8B=97

5.xxencode编码
http://web.chacuo.net/charsetxxencode

8RrYUOLAUQ4Zb0U++

它所选择的可打印字符是:+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,一共64个字符。跟base64打印字符相比,就是UUencode多一个“-” 字符,少一个”/” 字符。

6.uuencode编码
http://web.chacuo.net/charsetuuencode
所产生的结果刚好落在ASCII字符集中可打印字符(32-空白…95-底线)的范围之中。
*=WD@:7,@<&EG”@``

7.url编码
个人建议用burp
%77%79%20%69%73%20%70%69%67

8.unicode编码
http://www.mxcz.net/tools/Unicode.aspx
wy is pig

9.escape编码
http://web.chacuo.net/charsetescape
%u0077%u0079%u0020%u0069%u0073%u0020%u0070%u0069%u0067

10.html实体编码
http://www.w3school.com.cn/tags/html_ref_entities.html
这…懒得看

11.敲击码
个人觉得这很神奇
敲击码表如下

1 2 3 4 5
1 A B C/K D E
2 F G H I J
3 L M N O P
4 Q R S T U
5 V W X Y Z

5,2 5,4 2,4 4,3 3,5 2,4 2,2

12.莫尔斯电码
http://rumkin.com/tools/cipher/morse.php
莫尔斯 电码表如下

A .- N -. . .-.-.- + .-.-. 1 .—-
B -… O — , –..– _ ..–.- 2 ..—
C -.-. P .–. : —… $ …-..- 3 …–
D -.. Q –.- “ .-..-. & .-… 4 ….-
E . R .-. ‘ .—-. / -..-. 5 …..
F ..-. S … ! -.-.– 6 -….
G –. T - ? ..–.. 7 –…
H …. U ..- @ .–.-. 8 —..
I .. V …- - -….- 9 —-.
J .— W .– ; -.-.-. 0 —–
K -.- X -..- ( -.–.
L .-.. Y -.– ) -.–.-
M – Z –.. = -…-

.– -.– / .. … / .–. .. –.

13.文本加密为盲文
http://www.qqxiuzi.cn/bianma/wenbenjiami.php
未用密码的情况下:揪晕疆枨嚼疆停枨撺=

14.栅栏密码
http://www.practicalcryptography.com/ciphers/classical-era/rail-fence/
栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文,这里以2栏栅栏加密为例。

15.曲路密码
曲路密码(Curve Cipher)是一种换位密码,需要事先双方约定密钥(也就是曲路路径)。

明文:The quick brown fox jumps over the lazy dog

填入5行7列表(事先约定填充的行列数)

加密的回路线(事先约定填充的行列数)

密文:gesfc inpho dtmwu qoury zejre hbxva lookT

16.列移位密码
http://www.practicalcryptography.com/ciphers/classical-era/columnar-transposition/
就是利用密钥=列数按字母表排序,然后将密码排成几行几列,按顺序将列排序。

17.埃特巴什码
http://www.practicalcryptography.com/ciphers/classical-era/atbash-cipher/
按字母倒序
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ZYXWVUTSRQPONMLKJIHGFEDCBA

18.凯撒密码
向后偏移x位
http://planetcalc.com/1434/

19.ROT5/13/18/47

ROT5 是 rotate by 5 places 的简写,意思是旋转5个位置,其它皆同。下面分别说说它们的编码方式:

ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,例如当前为0,编码后变成5,当前为1,编码后变成6,以此类推顺序循环。

ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。

ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,为了好称呼,将其命名为ROT18。

ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,例如当前为小写字母z,编码后变成大写字母K,当前为数字0,编码后变成符号_。用于ROT47编码的字符其ASCII值范围是33-126,具体可参考ASCII编码,下面以rot13以例。

20.简单替换密码
https://quipqiup.com/
简单换位密码(Simple Substitution Cipher)加密方式是以每个明文字母被与之唯一对应且不同的字母替换的方式实现的,它不同于恺撒密码,因为密码字母表的字母不是简单的移位,而是完全是混乱的。