拿到题目发现是CRC32爆破,使用工具进行如下破解
得到压缩包密码为: tanny_is_very_beautifu1_解密后拿到flag.pdf,得到如下信息 需要我们进行排列组合,得到结果的Sha1为 e6079c5ce56e781a50f4bf853cdb5302e0d8f054排列组合大致如下 1!2@{[}]asefcghnl直接刚可能性太多,这里我们知道应该是flag{}样式,所以缩小范围为 1!2@sechn编写如下脚本 import itertools
import hashlib
def sha1(str):
sha = hashlib.sha1(str)
encrypts = sha.hexdigest()
return encrypts
a1 = '1!'
a2 = '2@'
a3 = '{'
a4 = '}'
for str1 in itertools.combinations(a1,1):
for str2 in itertools.combinations(a2,1):
str3 = str1[0]+str2[0]+'sechn'
for i in itertools.permutations(str3):
tmp = (''.join(i))
res = 'flag{'+tmp+'}'
# print sha1(res)
if sha1(res) == 'e6079c5ce56e781a50f4bf853cdb5302e0d8f054':
print res
break
运行后得到flag flag{sh@1enc}
|