入坑CTF的第一篇CRC32爆破【MISC】

这篇具有很好参考价值的文章主要介绍了入坑CTF的第一篇CRC32爆破【MISC】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近遇到一道CTF的一道题,大意是:

一个被压缩的Zip压缩包,在无法使用加密口令解压的情况下,如何获取其中文本文件的内容。

思路:对于文件大小<6B的文件,可以利用CRC32的校验值,爆破文本内容。

crc爆破 ctf,MISC,网络安全

我自己做了一个压缩包,没有使用密码加密,测试一下(以4字节的文件为例):

from binascii import crc32
import string
import zipfile
dic=string.printable
def CrackCrc(crc):
    for i in dic :
        # print (i)
        for j in dic:
            for p in dic:
                for q in dic:
                    s=i+j+p+q
                    # print (crc32(bytes(s,'ascii')) & 0xffffffff)
                    if crc == (crc32(bytes(s,'ascii')) & 0xffffffff):
                        print (s)
                        return

def getcrc32(fname):
    l=[]
    file = fname
    f = zipfile.ZipFile(file, 'r')
    global fileList
    fileList =f.namelist ()
    print (fileList)
    # print (type(fileList))
    for filename in fileList:
        Fileinfo = f.getinfo(filename)
        # print(Fileinfo)
        crc = Fileinfo.CRC
        # print ('crc',crc)
        l.append(crc)
    return l

def main (filename=None):
    l = getcrc32(filename)
    # print(l)
    for i in range(len(l)):
        print(fileList[i], end='的内容是:')
        CrackCrc(l[i])

if __name__  == "__main__":
    main ('test.zip')

crc爆破 ctf,MISC,网络安全

  对于6字节文件的CRC32爆破,在GitHub上有爆破脚本,使用截图如下:

crc爆破 ctf,MISC,网络安全

 使用命令:python crc32.py reverse 0x93C2BE07反推出(所有可能的)6位长度的文本内容。

下载地址:GitHub - theonlypwner/crc32: CRC32 tools: reverse, undo/rewind, and calculate hashesCRC32 tools: reverse, undo/rewind, and calculate hashes - GitHub - theonlypwner/crc32: CRC32 tools: reverse, undo/rewind, and calculate hasheshttps://github.com/theonlypwner/crc32文章来源地址https://www.toymoban.com/news/detail-655580.html

到了这里,关于入坑CTF的第一篇CRC32爆破【MISC】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (python)数据校验-CRC32校验

    目录 前言 数据校验概念 CRC校验算法 CRC计算原理 算法逻辑 流程图 CRC算法种类 代码实现CRC算法 python实现算法① python实现算法② 总结         在二次开发eCan上位机应用时,遇到了采用CRC(全称是循环冗余校验)32算法 校验文件传输完整性 的场景,浅浅地记录一下使用心得.  

    2023年04月16日
    浏览(54)
  • 【STM32】CRC(循环冗余校验)

    (1)CRC(Cyclic Redundancy Check),循环冗余校验 (2) 什么是校验,为什么需要校验:数据传输,数据存储过程中需要使用到的 (3)什么是 冗余:表示比实际上要传输的数据还要多 (4)校验实现的关键: 冗余少、运算少、识错纠错能力强 (有些算法只能识别错误但是无法纠错) (1)(

    2024年02月03日
    浏览(48)
  • 5.0 CRC32校验技术概述

    CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否

    2024年02月08日
    浏览(35)
  • CRC32校验算法原理及计算说明

    本文主要介绍如何使用CRC32校验算法计算得出FCS(Frame Check Sequence帧检验序列). 参考: 1、CRC32加密算法原理 2、CRC多项式对应代码 作用:在远距离数据通信中,为确保高效而无差错地传送数据,对数据进行校验即差错控制。 CRC原理实际上就是在一个K位二进制数据序列之后附

    2023年04月22日
    浏览(41)
  • C语言CRC-32 STM32格式校验函数

    CRC-32校验产生4个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。基本的CRC-32校验算法实现,参考: C语言标准CRC-32校验函数 不同厂家通过对输入数据前处理和输出数据后处理的方式不同,又产生了不同的厂家校验函数,这

    2023年04月27日
    浏览(53)
  • 5.2 磁盘CRC32完整性检测

    CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否

    2024年02月08日
    浏览(33)
  • C# 和 OpenResty 中进行 CRC32

    一、C# 进行 CRC32 使用方法 结果:1234567890 = CRC32 Uint: 639479525, Hex: 261DAEE5   二、OpenResty 中进行 CRC32 结果:1234567890 = CRC32 long: 639479525 C# 和 OpenResty 中进行 CRC32 的结果是一致的。  

    2024年02月16日
    浏览(31)
  • IEEE 802.3 标准中规定的 CRC32 算法

    话不多说直奔主题,下面是一个使用 IEEE 802.3 标准中规定的 CRC32 算法计算校验和的示例程序(使用 C 语言)。该示例程序实现了一个 crc32 函数,可以计算给定长度的数据的 CRC32 校验和。程序中包含了详细的注释,方便理解。 示例程序中, crc32 函数用于计算给定长度的数据

    2024年02月10日
    浏览(40)
  • STM32的SPI硬件CRC校验(个人学习记录)

    一、功能实现         为了保证SPI通信数据的准确性,需要通过对每个数据进行CRC校验,保证设备运行正常。 二、基本原理 SPI通信可以通过以下步骤使用CRC: ● 设置CPOL、CPHA、LSBFirst、BR、SSM、SSI和MSTR的值; ● 在SPI_CRCPR寄存器输入多项式; ● 通过设置SPI_CR1寄存器CRCEN位使

    2024年02月11日
    浏览(40)
  • 百度知道APP心跳包分析-MD5字段(gzip + CRC32)

    POST:https://kstj.baidu.com/ctj/iknow?v=737i=0E046D49CA01C9B2177F109C170A6C60%7CVDWE3WI7Ks=1440*2392fr=androidc=baiduzhushoumc=Pixel+XLie=op=aid=9av=9.1.5.2sv=7.1.2 我们在模拟请求的时候发现headers有个参数进行加密。 md5,猜测盲猜一波,真的是MD5??? md5长度一

    2024年02月16日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包