[CTF]No.0001 博兹瓦纳-爆破

来源:互联网 发布:数据库设计用什么软件 编辑:程序博客网 时间:2024/06/05 00:20

每日一题CTF 0001

博兹瓦纳-爆破?其实有更好的办法

来源:HBCTF第一场WP
类别:zip伪加密、CRC校验
来源:http://www.moonsos.com/post/256.html
用到工具:HxD(16进制编辑器) 或 winhex
     WINRAR 或 好压 (查看 CRC32)

文件下载地址:http://hbctf-1252906577.costj.myqcloud.com/misc/flag6.zip
百度网盘下载:链接:http://pan.baidu.com/s/1bpaUSwf 密码:g044

方法一

解题思路:

CRC32是由数据的每一位都参加的运算得出的,已知flag是6位数,可以爆破

用压索软件打开能看到crc32如图:
这里写图片描述
题目又说了6位数,写脚本爆破之得到答案,脚本如下:

import binasciireal = 0x9c4d9a5dfor y in range(100000, 999999):    if real == (binascii.crc32(str(y)) & 0xffffffff):        print(y)

这里写图片描述

0 x 0x9c4d9a5d 是16进制的数,可以转换成为十进制的2622331485

参考文献:RAR加密原理
参考文献:利用CRC32绕过RAR密码(适合于小文本文件)
参考文献:python求crc32值的方法

方法二:

有人会想到爆破压缩包,其实这道题并没有加密,只是修改了一位数而已,用winhex或者HxD打开压缩包,修改如图位置为00,保存后就可以直接解压了,关于原理可以百度“zip伪加密”
这里写图片描述

原文:米安网