CTF中压缩包的玩法

暴力破解

通常情况下,不是伪加密就是爆破

工具:AZPR

c27.png

伪加密

伪加密,顾名思义,看起来需要输入密码,其实没有密码,只要在HXD修改一个位置即可

首先文件加载到HXD CTRL+F 查找字节序列504B 全部列出

c28.png

下面所指位置为全局方式位标记

c29.png

修改为09则提示有密码,而偶数就没有密码

CRC32碰撞

c1.png

很明显三个pass文件是密码,而且文件很小,考虑CRC32碰撞
贴一下脚本,遇到别的题可以改一下

import binascii
import string

dic=string.printable 
crc1=0x308E1D5B
crc2=0x5194C2D0
crc3=0x5C48F6CA
for i in dic:
    for j in dic:
        for n in dic:
            for m in dic:
                s=i+j+n+m
                #s = bytes(s, encoding = 'utf-8')
                if(crc1==(binascii.crc32(s) &     0xffffffff)):
                    text1=s
                if (crc2 == (binascii.crc32(s) &     0xffffffff)):
                    text2=s
                if (crc3 == (binascii.crc32(s) &     0xffffffff)):
                    text3=s
print (text1+text2+text3)

明文攻击

已知加密压缩包里的某个文件,那么就可以通过明文攻击来获取压缩密码

工具:AZPR

如图我已通过解压one.zip得到一个readme文件和two.zip,且two.zip也有一个相同的readme文件

x

把readme文件压缩作为已知文件,攻击

c13.png

掩码攻击

已知密码的一部分,通过构造规则进行攻击

如已知密码的第四位为.

c31.png

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020 丰年de博客

请我喝杯咖啡吧~

支付宝
微信