[AFCTF2018]BASE解题思路

简介: [AFCTF2018]BASE解题思路

解压缩后可以看到有21.7M,打开看看这么打的内容是什么

密密麻麻的一堆,不过仔细看,可以发现符合BASE16的特点,只有0-9的数字和ABCDEF6个英文字符,找一网址解码?这也太多了呀,我们警惕一下,先复制一些片段解码

解密完之后怎么看这个像是base64的了,再解密一下base64

解密过后,可以发现还是一堆密文,如何搞?

由此我们可以猜测,本题后续步骤将会是循环使用不同的Base编码方案进行解码,我们可以编写脚本来完成这个重复工作。

import re,base64
s=open('D:/flag_encode.txt','rb').read()
base16_dic=r'^[A-F0-9=]*&'
base32_dic=r'^[A-Z2-7=]*&'
base16_dic=r'^[A-Za-z0-9/+=]*&'
n=0
while True:
    n+=1
    t=s.decode()
    if'{'in t:
        print(t)
        break
    elif re.match(base16_dic,t):
        s=base64.b16decode(s)
    elif re.match(base32_dic,t):
        s=base64.b32decode(s)
    elif re.match(base64_dic,t):
        s=base64.b64decode(s)

这里我们按照正则进行匹配,如果符合Base相应编码则进行解码,如果出现特殊字符'{'则输出内容,运行脚本便可以解出Flag。


相关文章
|
6天前
|
算法 图计算 容器
class050 双指针技巧与相关题目【算法】
class050 双指针技巧与相关题目【算法】
30 0
|
5月前
|
存储 C++
数据的存储练习题 -- (解题思路+代码)
数据的存储练习题 -- (解题思路+代码)
37 0
|
6天前
蓝桥杯vip测试题系统-数组求和(解题思路以及解题代码,手画思路图虽然丑丑的)
蓝桥杯vip测试题系统-数组求和(解题思路以及解题代码,手画思路图虽然丑丑的)
30 0
|
5月前
|
算法
写题思路的分享
写题思路的分享
29 0
|
6月前
|
机器学习/深度学习 存储
【每日易题】求二进制中1的个数——三种非常巧妙的解题思路
【每日易题】求二进制中1的个数——三种非常巧妙的解题思路
39 0
|
9月前
|
算法 C语言 C++
【动态规划】不同路径,编辑距离题解及代码实现
两题由简单到难得DP问题!助我们拿下DP!
40 0
|
10月前
|
机器学习/深度学习 存储 缓存
力扣70爬楼梯:思路分析+优化思路+代码实现+补充思考
力扣70爬楼梯:思路分析+优化思路+代码实现+补充思考
76 0
|
11月前
|
算法 C++ 容器
Leetcode 算法解题思路总结
Leetcode 算法解题思路总结
|
12月前
|
算法 Java C++
力扣题目-两数字和(三种解法,C++,java,python实现)
力扣题目-两数字和(三种解法,C++,java,python实现)
|
存储 算法 Java
Leetcode数组专题专练:经典题目+思路解读
Leetcode数组专题专练:经典题目+思路解读