附加式图片隐写之直接附加字符串 应对策略

BUUCTF【你竟然赶我走】https://buuoj.cn/challenges#%E4%BD%A0%E7%AB%9F%E7%84%B6%E8%B5%B6%E6%88%91%E8%B5%B0

【乌镇峰会种图】ttps://buuoj.cn/challenges#%E4%B9%8C%E9%95%87%E5%B3%B0%E4%BC%9A%E7%A7%8D%E5%9B%BE

BUGKU【这是一张单纯的图片】

http://ctf.bugku.com/challenges/detail/id/2.html

针对CTF比赛的MISC(杂项)题目,隐写术是很重要的题型,其中针对图片的隐写十分常见。下面将进行该技术的各种方法的研究。

首先是附加式图片隐写,一是直接附加字符串,二是图种的形式出现。

 

下面以其中一题为例

img

 

字符串一般附加在文件的后面,因为如果图片附加在中间,有可能破坏了图片的信息,如果字符串附加在图片的头部位置,又破坏了文件头,可能导致图片无法识别。

 

查看这个字符串有很多方法,这里给出两种

Strings工具

下载与安装可以参考https://blog.csdn.net/xcyja/article/details/116242761

安装之后,为了更方便的用cmd调用,我们需要将其添加到系统变量

打开编辑系统环境变量

img

单机环境变量

img

双击下方的Path值

img

新建,将工具所在文件路径加入

img

img

这样就可以方便的使用了

 

我们在图片所在文件夹shift+右击,在此处打开命令窗口

img

对图片进行解析

img

可以在最后得到flag

img

 

010Editor工具

十六进制编辑器010Editor确实非常好用,我建议在果核剥壳下载

https://www.ghxi.com/010editor.html

img

将图片用工具打开

img

可以直接在最后找到flag

img

 

当然有的时候题目可能稍微转一个弯,将最后的flag进行base64或者unicode加密,我们仅需要使用工具将其解密即可

下面给出一个例题

链接:https://pan.baidu.com/s/1xBzhkVEYSbVcHS3u4x_WGw

提取码:yxh1

--来自百度网盘超级会员V2的分享

 

对其解码,最后产生了base64加密的字符串

img

对其解密可以用网上的在线解码工具,也可以python解密

D:\学习\大三下\网络功放技术\MISC\附加式图片隐写>python
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:43:08) [MSC v.1926 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a='ZmxhZ3t3ZWxjb21lX3RvX3hpYW56aGl9'
>>> import base64
>>> base64.b64decode(a)
b'flag{welcome_to_xianzhi}'
>>>
posted @ 2022-03-04 10:25  Xiaohanahahah  阅读(456)  评论(0编辑  收藏  举报