2021-8-15-CTF
1、
题目名称:还原大师
题目类型:crypto
题目内容:我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母,为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全,E903???4DAB????08?????51?80??8A?,请猜出神秘字符串的原本模样,并且提交这个字串的32位MD5码作为答案。 注意:得到的 flag 请包上 flag{} 提交
解题技巧:看别的大神写的wp为MD5爆破,具体代码如下:(还没研究它啊啊啊啊啊啊啊!)
import hashlib
#print hashlib.md5(s).hexdigest().upper()
k = 'TASC?O3RJMV?WDJKX?ZM' #要还原的明文
for i in range(26):
temp1 = k.replace('?',str(chr(65+i)),1)
for j in range(26):
temp2 = temp1.replace('?',chr(65+j),1)
for n in range(26):
temp3 = temp2.replace('?',chr(65+n),1)
s = hashlib.md5(temp3.encode('utf8')).hexdigest().upper()#注意大小写
if s[:4] == 'E903': #检查元素
print (s) #输出密文
如果为:
题目答案:flag{E9032994DABAC08080091151380478A2}
2、
题目名称:古典密码知多少?
题目类型:crypto
题目内容:得到的 flag 请包上 flag{} 提交。
解题技巧:蓝色为猪圈密码,黄色为圣堂武士密码,黑色为标准银河密码,对照密码表得出一串字母:FGCPFLIRTUASYON
然后我不能准确的看出是什么密码,就放在工具里一键解密啦,得出是栅栏密码:
提交应为大写字母!
题目答案:flag{CRYPTOFUN}
科普:
标准银河字母:
标准银河字母(Standard Galactic Alphabet)出自游戏《指挥官基恩》系列。是系列中使用的书写系统。这是一个简单的替代暗号,用不同的符号取代拉丁字母。SGA可以在不同的语言中使用,比如在游戏《Minecraft》,《指挥官基恩》中。
如果遇到这类题。直接根据题目来进行图翻->字母
圣堂武士密码:
圣堂武士密码(Templar Cipher)是共济会的“猪圈密码”的一个变种,一直被共济会圣殿骑士用。
直接根据图片上的直接翻译出字母即可
栅栏密码:
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)
加密原理::