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

本文介绍了解决HBCTF第一场WP中的一道题目的两种方法。一种是通过爆破CRC32校验值来找到正确的六位数密码;另一种则是通过修改ZIP文件的特定字节实现直接解压。文章提供了具体步骤和所需工具。

每日一题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 binascii
real = 0x9c4d9a5d
for 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伪加密
这里写图片描述

原文:米安网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值