实验吧编程题:Hashkill

原题: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

为什么是小写,因为我用大写跑了半天跑不出来,换成小写才跑出来

。。。

转载于:https://www.cnblogs.com/hell0w/p/7629429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值