由参加的一个安全大赛来的。flag文件在一个加密的zip文件里面,密钥为6-8位的数字。写了个python脚本进行暴力解压缩。python
其中暴力破解的密码生成采用itertools库提供的函数来产生。即product函数,product函数为求迭代器的笛卡尔积。安全
以下:函数
list1 = [1,2,3]加密
list2 = [a,b]3d
for i in product(list1,list2):blog
print iip
输出为(1,a)it
(1,b)迭代器
(2,a)程序
(2,b)
(3,a)
(4,b)
则6位的密码产生序列至关于product('1234567890', 6)。即6个'1234567890'序列产生的笛卡尔积。对应的生成密码函数和解压缩zip包的程序以下所示:
运行速度还挺快,以下是运行结果: