xctf攻防世界 MISC高手进阶区 2-1

1. 进入环境,下载附件

给的一张png尾缀的文件,尝试双击打开,提示文件已损坏。猜测可能是文件头有问题,因此丢入winhex中,如图:
在这里插入图片描述
发现png文件头不对,去搜搜文件格式,进行修改。

2. 问题分析

查阅相关png图片的数据标识,https://blog.csdn.net/zz_Caleb/article/details/89927673

先详细解释一下png的文件头:

  • (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
  • (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
  • (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
  • (可变)13位数据块(IHDR)
    - 前四个字节代表该图片的宽
    - 后四个字节代表该图片的高
    - 后五个字节依次为:
    Bit depth、ColorType、Compression method、Filter method、Interlace method
  • (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。
    也就是说我们可以通过爆破来得到高度和宽度

修改相关的头后,如图:
在这里插入图片描述
使用kali打开提示CRC错误,如图:
在这里插入图片描述
写到这里,无从下手,参考网上的脚本,提示png图片crc宽度爆破,搜了一下,看了看相关博客:
https://h3110w0r1d.com/archives/128/

根据提示,使用脚本进行宽度遍历

import binascii
import struct

with open('./pic/148a3ba22b8541f48f354f3e27f0aa4c.png', 'rb') as file:
	# 得到文件的16进制数据
    data = file.read()
    for i in range(1024):
    	# 找到数据的12到16位(IHDR)
    	# struct.pack('>i', i)中>表示大端模式,i表示integer数据类型,将i为4位宽度进行表示
    	# data[20 : 29]表示IHDR中的后9位
    	# c表示IDCH和IHDR数据,用于后续crc校验
        c = data[12:16] + struct.pack('>i', i) + data[20 : 29]
        # 如果校验结果是符合winhex中图片的第13到16位的crc值,则爆破成功宽度
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x932f8a6b:
            print(i)

跑出的图片宽度为709,对应16进制为0x2c5,我们在winhex中修改对应的宽度值,如图:
在这里插入图片描述
得到最终的可打开图片:

在这里插入图片描述
最终答案为:wdflag{Png_C2c_u_kn0W}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2023蓝帽杯初赛misc下载是指在2023年举办的蓝帽杯网络安全竞赛中的一项miscellaneous(杂项)类题目的下载。在初赛中,参赛选手需要下载与miscellaneous相关的题目文件或资源,并行分析和解决。 首先,参赛选手需要前往蓝帽杯竞赛官方网站或相关论坛查找与初赛misc下载相关的公告或指引。这些网站通常会提供下载链接或资源分享的方式,以方便选手获取题目所需的文件或资源。 其次,根据所提供的下载链接,选手可以点击链接行下载,也可以使用迅雷、qq旋风等下载工具行高速下载,以确保下载的文件完整和无误。 在完成下载后,选手需要对下载的文件行验证。可使用md5校验工具对下载后的文件行校验,以确保文件的完整性和正确性,防止下载过程中出现错误导致文件损坏。 之后,选手可以开始miscellaneous题目的解析和答题。首先,解压下载的文件,查看所提供的题目资源、源代码或二制文件等。根据题目要求和提示,选手可以使用各种工具和技术,如逆向工程、数据分析、密码学等,行问题的分析和解决,并找出相应的答案或flag。 最后,选手需要将自己的解题过程、思路和答案记录下来,并按照比赛规则的要求提交答案。可以是一个文本文件或截图,或是将解决问题的代码或脚本提交到竞赛平台或指定的邮箱中。 总之,2023蓝帽杯初赛misc下载是参赛选手在参加蓝帽杯网络安全竞赛中所需行的一项任务。选手需要在蓝帽杯官方网站或相关论坛上获取下载链接并下载题目相关的文件或资源,然后对其行验证、解析和解决,最后提交答案以完成竞赛的要求。这项任务对选手的网络安全技术、解题思维和团队合作能力都提出了较高的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值