题目

菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓

解题

下载附件后是一个压缩包,解压缩时提示需要密码,这时候就要思考了,破解密码?在题目中一般都会提示,不然破个吉尔。然后想到伪加密,先用winRAR修复下,果然修复后的能直接解压(据说用360压缩可以直接脱出里面的文本)

解压后得到一个文本,里面是大量base64加密(根据题目名字也可以知道)

这是base64隐写,下面是我的解题代码

b="""
这里放base64加密的内容
"""
e = d.splitlines()
binstr = ""
base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
for i in e:
    if i.find("==") > 0:
        temp = bin((base64.find(i[-3]) & 15))[2:]  # 取倒数第3个字符,在base64找到对应的索引数(就是编码数),取低4位,再转换为二进制字符
        binstr = binstr + "0" * (4 - len(temp)) + temp  # 二进制字符补高位0后,连接字符到binstr
    elif i.find("=") > 0:
        temp = bin((base64.find(i[-2]) & 3))[2:]  # 取倒数第2个字符,在base64找到对应的索引数(就是编码数),取低2位,再转换为二进制字符
        binstr = binstr + "0" * (2 - len(temp)) + temp  # 二进制字符补高位0后,连接字符到binstr
str = ""
for i in range(0, len(binstr), 8):
    str = str + chr(int(binstr[i:i + 8], 2))  # 从左到右,每取8位转换为ascii字符,连接字符到字符串
print(str)  # 结果是 Base_sixty_four_point_five转换为

运行后得到flag

知识点

1.ZIP伪加密

2.base64隐写


一个热爱技术的白帽子