CUIT CTF WriteUp-BP断点

本文详细记录了一次CTF比赛中的解题过程,涉及PNG图像隐藏信息的挖掘。作者通过发现数据尾部的IEND标记,确定文件实际为PNG。经过16进制编辑和分析,发现图片长宽不正确。编写脚本成功破解长宽,最终揭示了隐藏的flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我就不对此题进行任何评价了,在开赛3分钟的时候就发现png了

当时由于没想到爆破长宽就没做了,直到第二天早上才搞定,下面说说此题的解题步骤

首先,文件down下来后发现是张无法显示的bm,用winhex或者其他16进制编辑器打开


搜索半天,在数据尾部发现了IEND


对该标记只有PNG图片才有,果断搜了下有没有PNG文件头,发现还真有,直接将PNG整个部分提取出来,保存为aaa.png


打开aaa.png发现什么都没有,果断继续16进制编辑

分析和检查了一些东西后,发现它的长宽有问题

然后就意识到可能要调整长宽,又想到一般出题人不会更高CRC(改了就吐血了~!)

So果断写个脚本Crack长宽,代码如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'RickGray'
import zlib
import struct
 
 
crc32key = 0x80BF36CC # target CRC
# 4948445200000100000000000806000000
for i in range(0, 1366):
    width = struc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值