cdusec-ctf Crypto wp

校赛Crypto的wp,这些题都比较简单吧,大多都能查得到,只是一些简单古典密码以及常见编码。

1、签到

复制输入即可,我给了一个链接,没有认真去看的23333 吃亏。

2、凯撒

简单的凯撒加密,key为4,在线工具丢进去即可。

3、fuck!这是什么鬼

jsfuck,说到底也是js代码,一样能够像js一样执行,复制丢进浏览器的控制台就得flag。

4、不一样的morse

morse的中文编码xmorse,在线网站丢进去完事。

5、你熟悉键盘吗?

一共5组字符串,一个字符串代表一个字母,在键盘上比划一下可以得到ANgLA。

6、蕾蕾姐被表白了

手机的9键拼音输入法加密,每2个数字对应一个字符,例如33,表示第三个键,第三个字符,即f,其他一样然后解出flag。

7、奇怪的字符串

Y对应1,N对应0,全部替换后二进制转字符串。

8、the other base’s member

base58,在线网站解码即可。

9、easy_base_family

base16,32,64混合编码,解码脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import base64

f=open('base_family.txt','r')
flag=f.read()
f.close()
while True:
try:
flag=base64.b16decode(flag)
continue
except:
pass
try:
flag=base64.b32decode(flag)
continue
except:
pass
try:
flag=base64.b64decode(flag)
continue
except:
pass
break

print(flag)

10、蕾蕾姐的id

md5爆破,会有多解的情况,只有一个正确。解密脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#coding:utf-8
import hashlib
import sys
keyword1="41d"#后三位
keyword2="fdc"#2-5位
key=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9']
for a in key:
for b in key:
for c in key:
for d in key:
word=str(a)+str(b)+str(c)+str(d)
flag=hashlib.md5(word)
if flag.hexdigest()[-3:]==keyword1 and flag.hexdigest()[2:5]==keyword2:
print flag.hexdigest()
sys.exit(0)

11、棋局

简单的棋盘加密,可以发现密文只有5个字母,urtql,附件的提示说flag的内容长度为10,想到棋盘加密。
解密脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import itertools

key = []
cipher = "rquutrqqrtulrutuuurr"

for i in itertools.permutations('tqlur', 5):
key.append(''.join(i))

for now_key in key:
solve_c = ""
res = ""
for now_c in cipher:
solve_c += str(now_key.index(now_c))
for i in range(0,len(solve_c),2):
now_ascii = int(solve_c[i])*5+int(solve_c[i+1])+97
if now_ascii>ord('i'):
now_ascii+=1
res += chr(now_ascii)
if "flag" in res:
print now_key,res

觉得这个难?全都在这里:点击查看
关于棋盘加密的知识,以及本题的解密脚本都在里面。

在?给俺买颗糖?