CTF常见编码和加密特征

前言

玩CTF的过程中,会遇见各种各样的编码和加密方式,特别在MISC和Reverse中出现次数最多。如果不知道哪种编码或加密方式,做题的过程会很吃力,本文就结合作者自身经历谈谈一些编码的特征。
先分享几个加解密网站
1 http://www.zjslove.com/3.decode/
2 https://www.qqxiuzi.cn/daohang.htm
3 http://web.chacuo.net/charsetuuencode

ASCII编码

0~31及127(共33个)是控制字符或通信专用字符,其余的为可显示字符。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等
在这里插入图片描述

Base32/64/58

做Reverse题分析加密方式时,先找编码表。

base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

举个例子:
base32(1234567)= GEZDGNBVGY3Q====

特征:大写字母和数字,不满5的倍数,用‘=’补齐。

base64(1234567)= MTIzNDU2Nw==

特征:大小写字母和数字,不满3的倍数,用‘=’补齐。

base58(1234567)= 2s8YYFs4Vc
在这里插入图片描述
在这里插入图片描述

rot5/13/18/47

rot的加密过程很明显,下面是作者遇到的rot13加密的算法(IDA打开的)。
在这里插入图片描述
ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,
ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,
ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,将其命名为ROT18。
ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,用于ROT47编码的字符其ASCII值范围是33-126。

UUencode/XXencode

UUencode的加密方式和base64很相似。但他的编码表有很多是特殊字符:”!”#¥%&‘()*+=’” 等等。
XXencode的加密方式也和base64相似。跟base64打印字符相比,就是UUencode多一个“-” 字符,少一个”/” 字符。
举个例子
UUencode(1234567)= (,3(S-#4V-PH`
特征:看着特别奇怪
XXencode(1234567)= 6AH6nB1IqBkc+
特征:与base64相似
在这里插入图片描述
在这里插入图片描述

SHA 1/224/256/384/512

安全散列算法(英语:Secure Hash Algorithm)是一种能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高;而SHA是FIPS所认证的五种安全散列算法。
SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的散列函数)的后继者。但SHA-1的安全性如今被密码学家严重质疑;虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的散列算法。

举个例子:
SHA-1(1234567)= 20eabe5d64b0e216796e834f52d61fd0b70332fc
SHA-224(1234567)=bb3fc349dd256a38df3f9345c81855cdebc9db2096b48ad3618674f6
SHA-256(1234567)=8bb0cf6eb9b17d0f7d22b456f121257dc1254e1f01665370476383ea776df414

转载:https://blog.csdn.net/nocbtm/article/details/90242650

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 CTF 比赛中,常见的几种编码包括: 1. base64:这是一种用 64 个字符来表示二进制数据的编码方式。 2. hex:这是一种将二进制数据表示为十六进制的编码方式。 3. ASCII:这是一种将数字、字母和其他字符表示为二进制数的编码方式。 4. url-encoding:这是一种用于将特殊字符编码为 %HH 的编码方式,用于在 URL 中传输数据。 5. ROT13:这是一种将字母表中的字母移动 13 位的编码方式,常用来作为简单的隐写术。 6. morse code: 这是一种用电信号表示字符和数字的编码方式 7. RSA,AES这是常见加密算法 这只是一个简单的列表,实际上还有许多其他编码加密方式可能会在 CTF 比赛中使用。 ### 回答2: CTF(Capture The Flag)是一种网络安全竞赛,参赛者需要解决各种密码学、网络安全等相关问题。在CTF比赛中,常见的几种编码方式主要包括以下几种: 1. Base64编码:Base64是一种常见编码方式,将二进制数据转换为可打印字符。它使用64个字符(A-Z、a-z、0-9、+、/)来表示二进制数据中的6个比特位,通常用于在网络传输中传递二进制数据。 2. ASCII编码ASCII(American Standard Code for Information Interchange)是一种常见的字符编码标准,使用7位二进制数表示128个字符,包括数字、字母、标点符号等。 3. Hex编码:Hex(十六进制)编码将数据转换为16进制表示。每个16进制数字对应于4个二进制位,常用于表示二进制数据。 4. URL编码:URL编码是一种用于在URL中传递参数的编码方式。它将非字母、数字字符转换为%xx的形式,其中xx表示字符的ASCII码的十六进制值。 5. Morse编码:莫尔斯电码是一种在电报通信中使用的编码方式。它使用不同长度的信号(点或划)表示字母、数字和标点符号。 6. RSA编码:RSA(由Rivest、Shamir和Adleman三位发明者的姓氏命名)是一种常用的非对称加密算法。RSA编码用于加密和解密数据,其中公钥用于加密数据,私钥用于解密数据。 以上是CTF比赛中常见的几种编码方式,参赛者需根据具体情况,解密或编码相关数据以解答题目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值