ctf常见编码

编码

  1. 进制

    十进制:20

    八进制:024

    十六进制:0x14

    key和flag对应的ASCII
    
    key		107 101 121
    KEY		75 69 89
    flag	102 108 97 103
    FLAG	70 76 65 71
    
  2. Unicode 编码

    例如:原文本:You had me at hello

    编码后\u0059\u006f\u0075\u0020\u0068\u0061\u0064\u0020\u006d\u0065\u0020\u0061\u0074\u0020\u0068\u0065\u006c\u006c\u006f

  3. URL编码

    明文:睡觉

    编码后:%e7%9d%a1%e8%a7%89

  4. Escape/Unescape

    明文:睡觉

    编码后:%u7761%u89c9

  5. Base64

    image-20210917105310710

  6. Base32

    范围:字母A-Z和数字2-7

    image-20210917105427994

  7. Base16

    base16中只有数字0-9以及大写字母ABCDEF

    image-20210917105513698

  8. Base91

    image-20210917105549002

  9. XXencode编码

    明文:Be slow to promise and quick to perform.

    编码后:cEaIUQqljRm-oPm-kQaxhOLBZ643iN0-lRKZXOm-oPm-kNL7aPr7h9U++

  10. UUencode编码

    明文: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+@``

  11. aaencode编码

    明文:alert(“Hello, JavaScript”)

    编码后:

    image-20210917105816830

  12. ROT5/13/18/47编码

    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

  13. jother编码

    8个字符 ! + ( ) [ ] { } 也是在console中运行就好,

    这encode出来时字符串,不是js程序。

    image-20210917110238691

密码

  1. 栅栏密码

    示例:
    
    明文:栅栏密码加密规则示例
    
    每组字数:5
    
    按照字数先把明文分成:
    
    栅栏密码加
    
    密规则示例
    
    先取每组第一个字:栅密
    
    再取每组第二个字:栏规
    
       密则
    
       码示
    
       加
    
    最后得到“栅密栏规密则码示加例”。
    
    解密则反推:
    
    密文被分成2个字一组:
    
    栅密
    
    栏规
    
    密则
    
    码示
    
    加例
    
    先取每组第一个字:栅栏密码加
    
    再取每组第二个字:密规则示例
    
    最后得到“栅栏密码加密规则示例”
    
    
    例子:
    
    FOKLPLA
    
    CGGODII
    
    SSSDOOP
    
    =>
    
    FOK
    
    LPL
    
    ACG
    
    GOD
    
    IIS
    
    SSD
    
    OOP
    
    =>
    
    FLAGISOOPCOISOKLGDSDP
    
    =>
    
    FLAG IS OOPCOISOKLGDSDP
    
  2. morse莫尔斯电码

    img

    morse与ascii对照表:

    img

  3. RSA

    参数:
    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								密文
    
  4. Ploybius 棋盘密码 波利比奥斯方阵

    Polybius Square Cipher波利比奥斯方阵密码

    密文位数是明文2倍

    下面横行为i 竖行为j eg.L:(3,1)

    image-20210917144327450

  5. 普莱费尔密码 Playfair

    英文:Playfair cipher 或 Playfair square)

    是一种使用一个关键词方格来加密字符对的加密法

    例题:Cipher

    步骤:

    1. 编制密码表 、密钥编成方阵

      img

      密钥方阵并不确定,最常见就这两种,也有playfair zxwv。。。这种反着的

      img

    2. 编写密文

      最后编写密文。对明文加密规则如下:

      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

    3. 解密

      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确定的矩形的其他两角的字母。

      其实就是反其道而行之。

  6. 维吉尼亚密码

    例如,假设明文为:

    ATTACKATDAWN

    选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:

    LEMONLEMONLE

    对于明文的第一个字母A,对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母L。类似地,明文第二个字母为T,在表格中使用对应的E行进行加密,得到密文第二个字母X。以此类推,可以得到:

    明文:ATTACKATDAWN

    密钥:LEMONLEMONLE

    密文:LXFOPVEFRNHR
    img

    用来加密解密的维吉尼亚表格:

    img

  7. 曼彻斯特编码

    img

    IEEE形式的,每四位取1 3 位就可以得到原本的Data

    得到data后对其二进制进行处理

  8. 培根密码

    培根密码加密方式

    第一种方式:

    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
    
  9. jsfuck

    JSFuck 可以让你只用 6 个字符 !+来编写 JavaScript 程序。

    jsfuck一种表示js的语言,直接在console中运行就好

    captfencoder可离线跑

  10. 元音密码

    元音密码表:

    img

    下面就可以对信息进行加密了 比如明文是:

    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

  11. 六十甲子

    img

    img

  12. 当铺密码

    当铺密码就是一种将中文和数字进行转化的密码,算法相当简单:当前汉字有多少笔画出头,就是转化成数字几。例如:

    口 0 田 0 由 1 中 2 人 3 工 4

    大 5 王 6 夫 7 井 8 羊 9

  13. 猪圈密码

    传统:

    img

    img

    变种1:

    img

    变种2:

    img

    img

  14. 圣堂武士密码

    img

  15. 银河标准字母

    img

  16. 跳舞的小人

    img

网站解密

  1. 新佛曰

    解密网址:

    http://hi.pcmoe.net/buddha.html

    諸壽隸僧壽降吽壽諸壽陀壽摩隸僧缽薩願心壽咤壽囉寂壽闍諸壽哆壽慧壽聞壽色吽愍壽所壽蜜如

    gemlovecom

  2. OoK!加密

    也有脚本可解密

    样子:

    img

    解密网站:

    https://www.splitbrain.org/services/ook

  3. brainfuck加密

    八种符号(> < + - . , [ ]),也有脚本可解密

    img

    样子:

    img

    解密网站:

    https://tool.bugku.com/brainfuck/

  4. Quoted-printable

    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/

  5. Rabbit

    rabbit加密有base64显示形式和hex显示形式,然后密文不唯一,

    例如对一个Cute_Rabbit加密有很多种密文:

    U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI

    U2FsdGVkX18RWTkternW9o4I+lRGrqHAjGN9

    U2FsdGVkX1/pfkxaegi0iXaw89BiLrZIXCxs

    解密网站:

    http://tool.chinaz.com/Tools/TextEncrypt.aspx

加密效验算法

  1. MD5

    需要网站碰撞 cmd5网站

    由a-z A-Z 0-9组成

    有16位的也有32位的

  2. sha1

    sha1(asdfafasdf)= 1366ed1868270a692348291cc90f4a40c126bf4d

其他未写完

posted @ 2022-06-13 10:03  Rlins  阅读(1375)  评论(0)    收藏  举报