题目链接:还原大师
题目描述:
我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母,为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全,E903???4DAB???08???51?80??8A?,请猜出神秘字符串的原本模样,并且提交这个字串的32位MD5码作为答案。 注意:得到的 flag 请包上 flag{} 提交
写脚本爆破一下
import hashlib
import string
def md5(str):
m = hashlib.md5()
m.update(str.encode("utf8"))
return m.hexdigest()
for i in string.ascii_uppercase:
for j in string.ascii_uppercase:
for k in string.ascii_uppercase:
c = 'TASC' + i + 'O3RJMV' + j + 'WDJKX' + k + 'ZM'
x = md5(c).upper()
if 'E903' in x and '4DAB' in x and '08' in x and '51' in x and '80' in x and '8A' in x:
print(c)
print(x)
break
flag:E9032994DABAC08080091151380478A2