首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BUUCTF [湖南省赛2019]Findme 1

BUUCTF [湖南省赛2019]Findme 1

作者头像
YueXuan
发布2025-08-18 20:12:02
发布2025-08-18 20:12:02
19800
代码可运行
举报
运行总次数:0
代码可运行

题目描述:

得到的 flag 请包上 flag{} 提交。

密文:

下载附件,解压得到1.png、2.png、3.png、4.png、5.png。

在这里插入图片描述
在这里插入图片描述

解题思路:

1、先看第一张图片1.png,显示出错,而且与其它四张图片不同,尝试修改宽高。

通过python脚本爆破宽高,得到正确的宽高,然后修改图片的宽高数据,得到正确的图片。爆破所用代码如下。

代码语言:javascript
代码运行次数:0
运行
复制
import os
import binascii
import struct

crcbp = open("repair.png", "rb").read()    #打开图片(修改图片路径)
for i in range(2000):
    for j in range(2000):
        data = crcbp[12:16] + \
            struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        if(crc32 == 0x9BF1293B):    #图片当前CRC(修改CRC)
            print(i, j)
            print('hex:', hex(i), hex(j))

宽为 227, 高为 453, 新CRC值为 806611, 宽为 e3, 高为 1c5

正确的图片显示如下,还是有问题。

在这里插入图片描述
在这里插入图片描述

用010 Editor打开,发现struct PNG_CHUNK chunk[2]chunk[3] 缺少IDAT标识。

在这里插入图片描述
在这里插入图片描述

添加IDAT标识,在struct PNG_CHUNK chunk[2] 下的 union CTYPE type中的uint32 crc,添加值49444154h

在这里插入图片描述
在这里插入图片描述

图片正常显示如下:

在这里插入图片描述
在这里插入图片描述

使用Stegsolve打开,在blue 2通道发现二维码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫码二维码,得到ZmxhZ3s0X3

2、第二张图片2.png,用010 Editor打开,在文件尾发现7z开头的数据,提取出来再处理。

在这里插入图片描述
在这里插入图片描述

保存为7z文件后,无法正常解压。将文件数据中全部的7z替换为PK,保存为zip文件,可以正常解压。

7z文件头:37 7A BC AF 27 1C zip文件头:50 4B 03 04

在这里插入图片描述
在这里插入图片描述

解压得到1000个文件。

在这里插入图片描述
在这里插入图片描述

将文件按照文件大小,从大到小排列,发现618.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

618.txt内容如下:

在这里插入图片描述
在这里插入图片描述

得到1RVcmVfc

3、第三张图片3.png,用010 Editor打开,在struct PNG_CHUNK chunk[0、1、2、3、4、5、6、7]下的 uint32 crc,全部隐藏了十六进制数据。

在这里插入图片描述
在这里插入图片描述

16进制转换文本:https://www.sojson.com/hexadecimal.html

在这里插入图片描述
在这里插入图片描述

提取出来转换为ASCII字符,得到3RlZ30=

4、第四张图片4.png,使用Kali中的exiftool查看4.png的EXIF信息。

在这里插入图片描述
在这里插入图片描述

在Artist下发现another part:cExlX1BsY

5、第五张图片5.png,用010 Editor打开,在最后发现 a gift。

得到Yzcllfc0lN

6、按照1.png、5.png、4.png、2.png、3.png的顺序组合,得到可以解码的Base64字符串。

代码语言:javascript
代码运行次数:0
运行
复制
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=

解码得到flag:flag{4_v3rY_sIMpLe_PlcTUre_steg}

flag:

代码语言:javascript
代码运行次数:0
运行
复制
flag{4_v3rY_sIMpLe_PlcTUre_steg}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述:
  • 密文:
  • 解题思路:
  • flag:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档