http://bmzclub.cn/challenges#2018%20%E5%AE%89%E6%B4%B5%E6%9D%AF%20boooooom
happy.zip
有密码
使用ARCHPR
尝试掩码爆破四位数字
happy.zip
密码:3862
解压
password.py
import base64
import hashlib
f = open("password.txt",'r')
password = f.readline()
b64_str = base64.b64encode(password.encode('utf-8'))
hash = hashlib.md5()
hash.update(b64_str)
zip_passowrd = hash.hexdigest()
print(zip_passowrd)
很明显password.zip
里面的password.txt
使用password.py
处理后就是flag.zip
的密码
这里唯一的方法是通过爆破文件CRC32
值得到内容,因为这里文件大小为8bytes
所以它的范围就应该有很大的局限性,不然八字节的很难爆破的出来内容,直接尝试内容为八位数字的CRC爆破
#encoding:utf-8
import binascii
pwdcrc = "0xcd95dac"
for num in range(100000000):
num = str(num)
if (len(num)<8):
num = (8-len(num)) * '0' + num
calc_crc = hex(binascii.crc32(bytes(num.encode('utf8'))) & 0xffffffff)
if calc_crc == pwdcrc:
print("Password: {}".format(num))
break
得到password.txt
内容为:08646247
,经过password.py
加密后得到:95c800c52134a571dfe69114c378e4be
解压flag.zip
得到
flag.png
CRC校验出错,可能修改了图片宽高,修改高度
flag{a184929e2c170e2b7dc12eb3106f0a16}