题目所给代码意思,得到一个token值,然后又把token的md5赋值给token,并需要这个md5值满足第1位=第14位=第17位,然后取整后的(第1位+第14位+第17位)/第1位=第17位。
利用脚本进行爆破(脚本来自博主:山野下)
from hashlib import md5
import string
alllist = '0123456789' + string.ascii_lowercase + string.ascii_uppercase
token_md5 = md5(alllist.encode("utf-8")).hexdigest()
for a in alllist:
for b in alllist:
token = str(a) + str(b)
token_md5 = md5(token.encode("utf-8")).hexdigest()
if token_md5[1] == token_md5[14] and token_md5[14] == token_md5[17]:
# if int(token_md5[1]) + int(token_md5[14]) + int(token_md5[17]) / int(token_md5[1]) == int(token_md5[31]):
print('token:{}'.format(token))
print('token+md5:{}'.format(token_md5))
得到结果后把token值一个个尝试
最终得到?token=3j是正确的。