【XCTF 攻防世界】杂项 misc 高手进阶区 Ditf
题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id=5562&page=2
下载附件得到一张照片,初看看不出来什么,使用foremost分离得到一个压缩包,里面有一个流量包文件,但需要密码
尝试多次,查看是否是伪加密,无果。
那么从png文件入手,看能否找到密码。
这里宽乘高是926*1100
一般密码会藏在高中,通过改变高度隐藏信息(png文件)
知识补充
PNG文件图像头部不止是文件类型的标识;还包含了长度、高度以及校验值
通常情况下,一个图像的产生,就会被赋予各种文件头部信息;一般情况下图像刚产生的时候,长宽高等信息会被校验,产生一个值X1
如果这个图象被修改了,有可能产生图像无法打开或者显示不全
校验值被修改为X2;使用TWeakPNG去校验的时候,通过长宽高算出来的校验值是X1跟现在的X2不一致,产生报错。
高度值被修改;通过错误的长宽高,算出错误的校验值X3(Winhex 第二行前四个字节为宽度,4-7字节为高度,最后三个字节以及第三行第一字节为CRC校验值)
如果计算出来的值报错,那一定是被篡改过
可以先用TWeakPNG计算CRC值,先尝试修改图片CRC值,查看图片,如果没有出现flag,再尝试改变高度值
那么我们来修改
这里可以看到
我们修改为05
可以看到密码
解压成功
打开流量包,搜索flag无果
搜索png
找到了
再进行base64解码
得到flag