DASCTF 2024暑期挑战赛-MISC-png_master

这道题的flag由三部分组成

第一部分很明显,使用010将文件打开,在最后一行可以看到有一串base64编码的字符串

将这串base64编码解码可得第一段flag

我们将图片放大缩小,不难发现图片的显示存在异常,我们猜测存在LSB隐写

放入到Stegsolve工具中查看,在Alpha通道中发现图片左上角又细微的变化

发现了第二段flag

同时这里也放上一个LSB处理脚本

from PIL import Image

img = Image.open('flag.png')
width, height = img.size

flag1 = ''

for y in range(0,height,3):
    for x in range(0,width,2):
        pixel = img.getpixel((x, y))
        print(pixel)
        flag1 += chr(pixel[3])
    print(flag1[:23])

我们将flag.png放到TweakPNG中分析,发现最后一个IDAT存在问题,像是多余出来的(上一个IDAT并没有被填满)

于是我们将这个多余的IDAT提取出来,添上合适的文件头尾,也可以将前面的IDAT全都删掉

我们可以直接爆破高宽,不过发现并没有结果,这里我们要将color_type改成truecolor

这时我们使用宽高一把梭工具一键爆破在宽500高500时发现了最后一段flag

最后得到flag:DASCTF{2fd9e9ff-e27d-5405-c5f5-a19131f86216}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值