知识点:base64多次解码
题目地址:[FSCTF 2023]base套 | NSSCTF
之前做过类似的题目,就是多次base64加密
代码如下:
import re
import pybase64
def process_data(data):
try:
# 删除包含'flag'或汉字字符的部分
data = re.sub(r'flag|[一-龥]', '', data)
# 进行Base64解码
decoded_data = pybase64.b64decode(data)
return decoded_data.decode(), True
except:
# 如果无法解码,返回原始数据和False表示无法继续解码
return data, False
# 读取文本文件内容
with open('./base64.txt', 'r', encoding='utf-8') as file:
data = file.read()
iterations = 0
# 循环处理数据,直到无法继续解码
while True:
data, can_decode = process_data(data)
iterations += 1
# 如果无法继续解码,输出结果并结束循环
if not can_decode:
print("最终结果:", data)
print("循环次数:", iterations)
break
FSCTF{e@sy_b@se64_yeah}