bugku 密码学一些题的wp

---恢复内容开始---

1、滴答滴

摩斯密码,http://tool.bugku.com/mosi/

2、聪明的小羊

从提示猜是栅栏密码,http://tool.bugku.com/jiemi/

3、ok

看格式是ook

https://tool.bugku.com/brainfuck/

4、这不是摩斯密码

看格式很像是brainfuck

试了下https://tool.bugku.com/brainfuck/ 解决

5、easy crypto

稍稍变化了一下的摩斯,还是用

http://tool.bugku.com/mosi/

但不知道为啥我提交的flag总是说不对。。

6、简单加密

最后的AA有点像是base64的==,又看了下A和=的整数只差了4,所以猜测是先base64,后凯撒

s=密文

ss = ''.join([char(ord(i)-4) for i in s])

r = base64.b64decode(ss)

7、散乱的密文

从提示看显然是置换密码

http://tool.bugku.com/jiemi/

8、+[]-

显然brainfuck

https://tool.bugku.com/brainfuck/

9、.!?

显然ook

https://tool.bugku.com/brainfuck/

10、一段base64

 1 from base64 import b64decode
 2 import re
 3 def conv(s,pattern,base):
 4     t = re.findall(pattern,s)
 5     t = [chr(int(i,base)) for i in t]
 6     return ''.join(t)
 7 
 8 with open('1.txt','r') as f:
 9     s = f.read()
10 s = b64decode(s).decode()
11 print(s[:100])
12 s = conv(s,r'\\(\d+)',8)
13 print(s[:100])
14 s = conv(s,r'\\x([0-9a-fA-F]+)',16)
15 print(s[:100])
16 s = conv(s,r'\\u([0-9a-fA-F]+)',16)
17 print(s[:100])
18 s = s[20:-1]
19 s = eval('['+s+']')
20 s = [chr(i) for i in s]
21 s = ''.join(s)
22 print(s[:100])
23 s = conv(s,r'&#x([0-9a-fA-F]+);',16)
24 print(s[:100])
25 s = conv(s,r'&#([0-9a-fA-F]+)',10)
26 print(s[:100])
27 s = s.replace('%7B',chr(0x7B))
28 s = s.replace('%7D',chr(0x7D))
29 print(s)

猜你喜欢

转载自www.cnblogs.com/digdig/p/10331307.html
今日推荐