原题:6ac66ed89ef9654cf25eb88c21f4ecd0是flag的MD5码,(格式为ctf{XXX_XXXXXXXXXXX_XXXXX})由一个0-1000的数字,下划线,纽约的一个区,下划线,一个10000-15000的数字构成。
纽约市有5个区,分别是:布朗克斯区(The Bronx)、布鲁克林区(Brooklyn)、曼哈顿(Manhattan)、皇后区(Queens)、斯塔滕岛(Staten Island)
python代码:
1 #-*-coding:utf-8-*- 2 #博客园 hell0_w 3 4 import hashlib 5 s1 = [] 6 for i in range(1001): 7 s1.append(str(i)) 8 s2 = "_" 9 s3 = ['thebronx','brooklyn','manhattan','queens','statenisland'] 10 s4 = "_" 11 s5 = [] 12 for i in range(10000,15001): 13 s5.append(str(i)) 14 15 for a in s1: 16 for b in s3: 17 for c in s5: 18 s6 = hashlib.md5('ctf{' + a + s2 + b + s4 + c + '}').hexdigest() 19 if s6 == "6ac66ed89ef9654cf25eb88c21f4ecd0": 20 print "%s" % 'ctf{' + a + s2 + b + s4 + c + '}' + " :%s" % s6 21 break
为什么是小写,因为我用大写跑了半天跑不出来,换成小写才跑出来
。。。