通过查看后发现用windows图片查看器能打开,用linux查看图片打不开 拿到此段代码后发现并非flag 后用栅栏密码4栏解码后出现 到这里就不知道该怎么做了这段信息也不是flag,是不是我嘚方向出问题了呀这段意思是flag非常简单,但是我还是没找出来这句应该也是给的提示信息吧 |
考查base64编码和图片源码隐写
发现第一个IDAT块的长度大于65524但后面还有一个长度为193的IDAT块,判断flag存在193的IDAT块中
用winhex打开图片文件
将长度193的数据提取出来,以十六进制复制
获取到的数据是通过zlib方式压缩的不可读数据所以用下面脚本解压,
结果为一堆二进制数据長度为1024
1024正好为32的平方,所以这可能是一个二维码.
把01数据放到result.txt中用脚本生成二维码
因为条形码中间并沒有完全断裂所以可以直接恢复
用画图打开条形码,使用矩形选择工具选择一部分完整连续的块,按住Ctrl键在点击上下方向键慢慢使残缺部分恢复
发现有两张图片用foremost命令将其分解
解后用compare命令比较两张图片的不同
compare命令对比后,相同部分会使用模糊表示不同地方使用红色表示。
放大后可以看到左下角有红线
然后通过python的image库将两张图片对比后不同的像素打印出来。
发现rgb中b通道第二张变成了01二进制,将二进制数芓8个为一组转换成字符得到flag
上面脚本直接得到flag
这是反色后的二维码,打开画图工具将反色操作
当然也可以直接用工具扫描二维码…
百度┅下这是个工具…
发现一堆乱码,应该是被加密了
根据二维码内容:你会五笔码
查询这5个汉字的五笔编码
这是实验吧CTF练习库中的一道题目首先我们熟悉一下题目:
根据题目要求,下载了一张图片如图:
按照常规操作,binwalk走一波发现这张图里存在一个压缩包dd命令得到压缩包,打开发现是一个图片:hacker.jpg但图片被加密无法打开。这时发现到文件名有点特殊:0000猜测密码可能是二进制转十六进制(一般密码都是數字与字母的组合),转换后得到结果:fc00输入后提示不对,将其大写输入后成功打开文件将hacker.jpg通过bless打开后发现,最末尾存在猫腻经过分析该段可能经过Base64编码尝试Base64解码可得一段摩尔斯电码(说明我们的猜测是正确的):使用摩斯电码在线解码工具得到:(这里我尝试了好幾种解密,最后发现是MD5)
总结:该题目主要考察了文件中包含压缩包并牵涉到诸如Base64,摩斯密码md5等加密手段,需要解题人分析他们的特征从而得出答案。