Bugku-一段Base64-Writeup

Posted M4x@10.0.0.55

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bugku-一段Base64-Writeup相关的知识,希望对你有一定的参考价值。

 

bugku - 一段Base64 - Writeup

题目:

分析:

本来看到题目名字和分数以为是一道水题,后来解的时候才发现有这么多编码方式,当然如果熟悉这些编码方式找在线工具解得话很快就能拿到flag,这篇writeup主要是记录一下用python实现所有解码

直接上脚本,分析过程和编码方式都在注释中

 1 #coding:utf-8
 2 #python 2.7
 3 import urllib
 4 import re
 5 
 6 #1. 第一层base64
 7 with open(\'base64.txt\') as f:
 8     cipher1 = f.read()
 9 plain1 = cipher1.decode(\'base64\')
10 # print plain1, type(plain1)
11 
12 #2. 第二层,根据plain1的形式(0-7的整数),推测为8进制加密
13 cipher2 = plain1
14 cipher2 = re.findall(r\'\\d+\', cipher2)
15 # print cipher2
16 plain2 = \'\'
17 for i in cipher2:
18     plain2 += chr(int(i, 8))
19 # print plain2
20 
21 #3. 第三层,根据plain2的形式(\\xdd),推测为16进制加密
22 cipher3 = plain2
23 cipher3 = re.findall(r\'\\d+\', cipher3)
24 # print cipher3
25 plain3 = \'\'
26 for i in cipher3:
27     plain3 += chr(int(i, 16))
28 # print plain3
29 
30 #4. 第四层,根据plain3的形式(udd*),推测为unicode
31 cipher4 = plain3
32 cipher4 = re.findall(r\'u[\\d\\w]+\', cipher4)
33 # print cipher4
34 cipher4 = \'\'.join(cipher4).replace(\'u\', \'\\u\')
35 # print cipher4
36 plain4 = cipher4.decode(\'unicode-escape\').encode(\'utf-8\')#将unicode转中文,来自知乎
37 # print plain4    
38 
39 #5. 第5层,根据plain4形式,将所有数字转ASCII即可
40 cipher5 = plain4
41 cipher5 = re.findall(\'\\d+\', cipher5)
42 # print cipher5
43 plain5 = \'\'
44 for i in cipher5:
45     plain5 += chr(int(i))
46 # print plain5
47 
48 #6. 第6层,百度plain5的编码格式(&#x)得到解码方法
49 cipher6 = plain5
50 # print cipher6
51 cipher6 = re.findall(r\'\\d+\\w?\', cipher6)
52 # print cipher6
53 plain6 = \'\'
54 for i in cipher6:
55     plain6 += chr(int(i, 16))
56 # print plain6
57 
58 #7. 第7层,百度plain6的编码格式(&#)得到解码方法
59 cipher7 = plain6
60 cipher7 = re.findall(\'\\d+\', cipher7)
61 # print cipher7
62 flag = \'\'
63 for i in cipher7:
64     flag += unichr(int(i))
65 # print flag
66 flag = urllib.unquote(flag)
67 print flag

 

运行得到flag

再次声明:此题没有必要完全用python实现,此篇writeup只是为了记录python的解密脚本

以上是关于Bugku-一段Base64-Writeup的主要内容,如果未能解决你的问题,请参考以下文章

Bugku-never give up

bugku web

BugKu 管理员系统

bugku game1

Bugku_CTF Writeup 之 管理员系统 (60)

BugKu——Web——source