BUUCTF [湖南省赛2019]Findme 1

BUUCTF:https://buuoj.cn/challenges



相关阅读
CTF Wiki
Hello CTF
NewStar CTF
BuuCTF难题详解| Misc | [湖南省赛2019]Findme
[湖南省赛2019]Findme

在这里插入图片描述

题目描述:

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

密文:

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

在这里插入图片描述


解题思路:

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

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

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字符串。

ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=

解码得到flag:flag{4_v3rY_sIMpLe_PlcTUre_steg}

在这里插入图片描述

flag:

flag{4_v3rY_sIMpLe_PlcTUre_steg}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

玥轩_521

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

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

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

打赏作者

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

抵扣说明:

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

余额充值