解密关 异常数据Writeup
题目:小明喜欢的妹妹给小明提出了一个谜语并表示解出谜语可以答应小明的一个要求。谜语序列:AGV5IULSB3ZLVSE=
Tips:key即解密结果
密码串用Base64解码失败,题目为异常数据,即可猜测里面某些字母应该是小写,才能保证解码出来是正确值。可以通过逐位变换大小写明晰4个字符为单位观察解码后是否为可见字符。
使用脚本:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import base64
import binascii
b64str='AGV5IULSB3ZLVSE='
f=open('flag.txt','w')
def base64code(s,d):
global b64str
global f
if(d==len(b64str)):
f.write(binascii.b2a_qp(base64.b64decode(s))+'\n')
else:
base64code(s+b64str[d],d+1)
if b64str[d].isalpha():
base64code(s+b64str[d].lower(),d+1)
base64code('',0)
f.close()
f=open('flag.txt','r')
for l in f.readlines():
if '=' not in l:
print(l)
————————————————
最后通过递归的方式遍历,运行结果最可能的结果是:hey!IloveU!