CTF-misc
复合隐写
本质:图片的本质其实是很长一段的码,我们在图片码中加入一点其他的东西,然后调整一下是不影响图片的观看和打开的,所以我们在图片码中加入一段flag就可以达到隐藏的效果
例1:找出这张图片隐藏的flag
这里我们直接使用Hex代码可视化工具WinHex打开图片,在图片末端可以得到flag
例2:找出这张图片的flag
老办法,先用WinHex打开,发现flag藏在代码末端
拓展知识:通过WinHex程序可以查看文件的文件头类型,并根据文件头类型来判断文件的类型
一般情况下,文件无法正常打开通常有两种原因:文件头部残缺和文件头部字段错误。对于文件头部残缺的情况,可以使用 WinHex 程序来添加相应的文件头信息。而对于头部字段错误的情况,可以尝试找到一个同类型的文件,将其作为替换文件来恢复文件的正常打开
一些隐写flag在二维码的图片我们可以使用工具
Binwalk工具
Binwalk是一个在Linux下用于分析和分离文件的工具,它能够快速判断文件是否由多个文件合并而成,并将其进行分离。如果分离成功,会在目标文件所在的目录下生成一个名为"文件名_extracted"的文件夹,里面存放着分离后的文件
用法:
分析文件:binwalk filename
分离文件:binwalk -e filename
Foremost
如果binwalk无法正确分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件
用法:
foremost 文件名 –o 输出目录名
例1:解密图片里面的flag
这里我们就可以使用foremost来分离文件,kali默认是没有安装foremost的,这里我们先安装好foremost,再输入foremost QR_code.png -o solve.png
得到一个名字为solve.png的文件夹,里面就有我们需要的flag,但是这个密码文件是加密的,此时我们可以借助暴力破解工具ARCHPR来获取文件密码
打开文件,攻击类型改为掩码,暴力范围选择为所有数字,掩码输入四个?,表示密码范围在0000~9999
开始攻击,发现果然得到密码
成功得到flag
例2:
解密这个压缩文件
发现需要密码,我们直接使用暴力破解工具ARCHPR爆破一波,成功得到密码
解出一个base64加密的口令,我们再对其进行解密
成功得到flag!
修改图片大小
一般图片都是正常大小可进行查看,但是也会遇到图片损坏或者其他事件。然而图片大小如果存在问题,我们一样是可以对图片进行一个访问的,但是我们只能看到图片的一部分,使用这种方式对图片的其他部分进行一个隐藏
例:下图就是对图片大小进行了修改 导致我们不能看完整的图片信息
我们再次尝试使用WinHex打开图片,查看十六进制代码,发现宽高比对应的数值不同,我们尝试修改为同一个数值
再次打开图片,发现成功得到flag
base64和图片的转换
例:查看这个key.exe文件,key发现这其实是一个图片文件头,可以直接使用在线base64转图片工具来得到图片
直接解码得到一个二维码
扫一扫,得到key
文件属性备注隐藏flag
例:有时候,可能会隐藏有flag文件属性备注里面,这个图片,打开,没什么不妥
但是右键属性,打开详细信息,看到备注就出现了flag!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步