CTF常见编码

目录

ASSII码

URL编码

base家族编码

1、base64

2、base32

3、base16

4、base58

5、base62

6、base91

7、base92

8、base100

摩尔斯电码(Morse Code)

ShellCode

XXencode编码

UUencode编码

AAencode

JSfuck

jother

Brainfuck

Ook

敲击码

稀奇古怪的编码


ASSII码

十进制符号
0—948—57
A—Z65—90
a—z97—22

在线工具:ASCII 在线转换器 -ASCII码-十六进制-二进制-十进制-字符串-ascii查询器 ab126软件园

URL编码

在线工具:在线URL解码编码工具_蛙蛙在线工具 (iamwawa.cn)

base家族编码

1、base64

base64的编码表是由(A-Z,a-z,0-9,+,/)64个可见字符构成,“=”符号用作后缀填充。

tips:一般情况下密文尾部都会有两个等号

编码原理:

1. 得到编码数据的二进制码

(如果编码数据为英文:将英文参照ascii码表转换为对应的数字表示形式,再将数字转为二进制如果编码数据为中文:将中文使用unicode UTF8编码得到二进制)

2. 将3个8位的二进制码为一组

3. 转换为4个6位二进制码为一组(不足6位补0,不足4个 最后追加补位符)

4. 对每组二进制码添加2位高位0

5. 将每组转换为十进制

6. 将每组的十进制转换为Base64字符表中对应的字符

编码实例:

文      本:L        u        c        y
ASCII 编码:76       117      99       121
8bit  字节:01001100 01110101 01100011 01111001 (补)00000000 (补)00000000
6bit  字节:010011 000111 010101 100011 011110 010000 000000 000000
Base64索引:19     7      21     35     30     16     (补位)  (补位)
Base64编码:T      H      V      j      e      Q      =      =

在线工具:在线工具 - Bugku CTF 

2、base32

base32的编码是由字母A-Z, 数字2-7共32个可见字符构成,“=”符号用作填充后缀

3、base16

base16使用数字0-9和字母A-F共计16个可打印字节对任意数据进行编码

tips:不会出现“=”

4、base58

base58是用于比特币中使用的一种独特的编码方式,主要用于产生比特币的钱包地址

相比于base64,base58不使用数字“0”,字母大写“0”,字母小写“i”,字母小写“l”,以及“+”和“/”

5、base62

相比于base64,去掉了“+”和“/”

6、base91

是在base64的基础上多了符号

7、base92

base92比base91多了“~”

8、base100

特点是加密后为Emoji表情

摩尔斯电码(Morse Code)

主要由以下五种代码组成:

(1)点(.)-1

(2)划(-)-0

(3)每个字符间短的停顿(通常用空格表示停顿)

(4)每个词之间中等的停顿(通常用 / 划分)

(5)以及句子间的长停顿

ShellCode

shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者得到shell而得名。shellcode常常使用机械语言编写。可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令

XXencode编码

XXencode是一种二进制到文字的编码!它跟UUencode以及Base64编码方法很类似。它也是定义了用可打印字符表示二进制文字一种方法,不是一种新的编码集合。XXencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以6-bit为单位分为4个组,每个组以十进制来表示所出现的字节的数值。这个数值只会落在0到63之间。它64可打印字符固定字符范围及顺序!包括大小写字母、数字以及+-字符。它较UUencode编码优点在于它64字符是常见字符,没有任何特殊字符!

UUencode编码

UUencode是一种二进制到文字的编码!它不是MIME编码中一员。最早在unix 邮件系统中使用,全称:Unix-to-Unix encoding。它也是定义了用可打印字符表示二进制文字一种方法,并不是一种新的编码集合。Uuencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以6-bit为单位分为4个组,每个组以十进制来表示所出现的字节的数值。这个数值只会落在0到63之间。然后将每个数加上32,所产生的结果刚好落在ASCII字符集中可打印字符(32-空白…95-底线)的范围之中。跟Base64具有非常多的类似,也做了一些特殊转码说明!因为对所有文本都会编码一次可读性不是很好!!

AAencode

可以将JS代码转换成常用的网络表情,也就是颜文字JS加密

JSfuck

JSfuck只使用六种字符对JS进行编码(  []!()+  )

jother

与jsfuck相比多了“ {} ”

Brainfuck

使用八种字符( ><-.,[]  )组成

Ook

敲击码

基于5*5的波利比奥斯方阵实现的,字母K被整合到C中

稀奇古怪的编码

1、核心价值观编码

2、与佛论禅编码

3、与熊论道

4、兽音

5、猪圈密码

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值