Base64
由A-Za-z0-9+/==组成的64个字符。通常末尾有==的就是Base64
Base64:SSBsb3ZlIHlvde+8gQ==
Base32
由A-Z和2-7组成的32个字符。通常末尾有===为Base32
Base32:JEQGY33WMUQHS33V566IC===
Base16
由0-9和0A-F组成的16个字符。实质就是16进制的字符串。
Base16:49206c6f766520796f75efbc81
以下是我的一个识别多次Base加密的脚本。用于加密了N次的Base字符串
import base64
flag='56477457566B31464E56565756455A4F5A57744664315673556C5A4E52545656566C524F55464A47536B5A55616B4A47545555315656525961453953566B563456477453566B31564D545A5256454A54566B5A5664315273556C5A4E4D555A565657745754303146565868555633425354577331526C5A55516B3953526C593056466877536B3147536B566152557050556C5A46656C527563464E53617A5646566C5247546C5A464D545A5562464A475456553152565A55526B356C6132743356577853556B31464E5556684D33424F556B5A574E565272556C4A4E617A56465656687354314A575658645562464A575A5555784E6C5255526B3557526C563356477853536B31464E5656566131704F5A57744664315273556B356C525456475656524B556C5A47566A52555748424754555A4B56565655526B3957526C593256465A5355314A724E56565656455A4F566B55784E465272566C4A4E4D555A5656565247546D567252586855563342575455553156564A5963453553526B704856477853556B31564E56566152557050556C5A46656C5657556C5A6C565456465631524355315A475658645562464A475A57737856565672576B3957526B563556477453556D56564E555A5756454A50566B5A574E4652596345354E56544656566C524354315A47565870554D464A54556C553064314A55516B35575254457A56477853536B31564E5556575747684F5A57744664315673556C4A4E525456795531524F556C5A47536B5A5561314A535456553156566C36566B3953566C563456477453566D56464D545A5356454A54556B5A7751315273556B5A6C617A46785657746154314A475658685562464A4F5A555531526C5A55516B3953526C563456466877566B3147536B566152557050556B56574E6C5256556C5A6C565456565656524B54314A47526A565561315A575456553152565655566B356C6130563356577853613146724E56565456454A505957784B52315273556C4A4E565456565646686B54314A575658685561314A54556C55314E6C6C36516C4E57526B563456477853566D56724D55565661317050556B5A4665465273556D704F52545647566C524F556C5A4763455255574842435456557863565A55516B3957525659325646565355314A724E584A535645704F5A57315351315272566C4A4E52545646566C687354314A475658645662464A575455553156564A5963453553526C593156477453556B3147536B565A656B3550556C5A5664315273556C5A4E56544532556C524355315A475258645562464A575454413552565672566B394E5256563356465A53546D51774E56565456454A50556B5A566546525963454A4E526B7056566C524354314A4864445A5556564A54556D733064314A55526B35686245563556477457566B31464E5556575747684F5A5774466431567463465A4E525456475656524F55464A47536B645562464A53545555315656525961453953566C563356477453566B31564E545A61656B4A54556B645351315272566C4A6C617A4646566C687354315A4752586855566C4A4F5A444131526C5A55516B3953526E424556466877546B31564D56565756454A50566B56726431527463464E53617A56795531524354315A464D54525561315A5754565531525664596345356C6245563356577853556B31564E56565356453553566B5A4B526C5272556C4A4E565456565758705354314A57566A5A5556564A53545655784E6C4A55516C4E53526E424456477853526D56724D55565661317050556B5A5665465273556B356B4D445647566C524754314A47566A565561314A5754555A4B52567046536B39535256593256465A5355314A564E56565656454A54566B5A4665413D3D'
#密文
base32='abcdefghijkmnlopqrstuvwxyz0189+/'
base16='GHIJKMNLOPQRSTUVWXYZabcdefghijkmnlopqrstvuwxyz+/'
def check(flag): #识别base类型
for i in base16:
if i in flag:
for b in base32:
if b in flag:
return 64
exit(0)
return 32
break
return 16
exit(0)
for i in range(20): #20取决于加密了多少次。可以设大点
num=check(flag)
if num==16:
print('16:'+flag)
try:
flag=base64.b16decode(flag)
except:
flag=base64.b64decode(flag)
flag=flag.decode()
elif num==32:
print('32:'+flag)
try:
flag=base64.b32decode(flag)
except:
flag=base64.b64decode(flag)
flag=flag.decode()
else:
print('64:'+flag)
flag=base64.b64decode(flag)
flag=flag.decode()
print(flag)
培根密码
通常由ab组成
解密网址:https://tool.bugku.com/peigen/
UUencode
UUencode编码将二进制文件转换为文本文件。通常用于e-mail传输
对于长消息来说。每行开头都是M。这算一个特征
但是对于短消息。特征就是字符串把。有'($<>)这类字符
解密网址:https://www.qqxiuzi.cn/bianma/uuencode.php
Rot13
Rot13主要是将当前字母替换为13位后的字母。超过就从26个字母开头继续。然后依次替代
特征:只会将字母替换。flag的标签并没有替换
Rot5
只对标点进行加密
Rot18
对数字。字母进行加密
Rot47
对数字。字母。标点进行加密
解密网址:https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php
MD5
特征:32位小写字母+数字
当然还有16位的MD5。和16进制差不多。
解密网址:https://www.somd5.com/
SHA1
特征:40位小写字母+数字
解密网址:https://www.somd5.com/
栅栏密码
特征:字符串中。包含了flag{}等标志。只是每一位都换了位置
解密网址:https://www.qqxiuzi.cn/bianma/zhalanmima.php
凯撒密码
特征:和ROT13差不多。只会将字母加密。不过ROT13移13位。而凯撒密码可以自定义移位
解密网址:https://www.qqxiuzi.cn/bianma/kaisamima.php
维吉尼亚密码
在凯撒密码的基础上扩展的。维吉尼亚密码需要一个密钥。根据密钥来决定哪一行的密表进行替换
解密网址:https://www.qqxiuzi.cn/bianma/weijiniyamima.php
猪圈密码
特征:如下的几种图形。对应的字符
解密网址:http://www.nicetool.net/app/pigpen_chiper_decrypt.html
rabbit加密
特征:U2Fsd开头。乍一眼看像是Base64
解密网址:https://www.sojson.com/encrypt_rabbit.html
OOK编码
特征:OOK?.
解密网址:https://www.splitbrain.org/services/ook
JSFUCK
特征:组成。可以直接控制台运行
解密网址:http://www.jsfuck.com/
当铺密码
特征:王夫 井工 夫口 由中人 井中 夫夫 由中大
解密网址:http://www.zjslove.com/3.decode/dangpu/index.html
键盘密码(qwe密码)
一开始的键盘并不是QWERTYU这样排列。是ABCDEFG这样排列的。
特征:flag对应的是ysqu
解密网址:http://www.zjslove.com/3.decode/qwe/index.html
摩斯密码
特征:.-组成
解密网址:https://www.jb51.net/tools/morse.htm
摩斯电码
特征: .-/组成
解密网址:https://tool.lu/morse/
敲击码
特征:由。空格组成。或者由数字组成。但数字不超过5
解密网址:http://ctf.ssleye.com/tapcode.html
AES
特征:和Base64差不多。但是需要密钥和IV向量
解密网址:http://tools.bugscaner.com/cryptoaes/
银河密码
圣堂武士密码
这里由猪圈密码变异的