CTF MISC(杂项)知识点总结——图片类(一)

CTF MISC(杂项)知识点总结——图片类(一)

Misc为英文miscellaneous的前四个字母,杂项、混合体、大杂烩的意思。
主要题目类型包括:
1.图片隐写、修复、分离
2.字符串类、进制转换
3.音频&视频隐写
4.数据包分析
5.内存取证
6.游戏隐写
7.综合类

今天先给大家分享一下图片类的解题思路和常用工具

一、常用工具
十六进制编辑器010 editor
binwalk或者foremost (文件分离工具)
steghide (图片隐写)
stegsolve (图片隐写)
tweakpng (图片检查)
zsteg (LSB图片隐写)
clocked-pixel (带密码的lsb图片隐写)
exiftool (图片隐写)
strings (查找字符串)
silenteye (图片隐写)
F5-steganography (图片加解密)
Free_File_Camouflage (图片隐写)
imagein (图片隐写)
diffimg (图片对比)
outguess (图片加解密)

二、解题思路
1.首先看看图片属性,养成好的习惯,有许多题目在属性里都能发现隐藏关键信息。比如这道题,属性里提示STEGHIDE。这是一种图片隐写方法,说明这张图片需要用steghide图片隐写工具。
图片

STEGHIDE软件的安装使用方法可以参考下面这篇文章

BugKu CTF(杂项篇MISC)—想要种子吗

2.图片文件里藏有字符串。这种情况一般用010 editor十六进制编辑器打开图片,然后仔细查找图片里是否有隐藏信息。比如这道题,用010 editor打开之后发现了一堆特殊字符,只要解开这堆特殊字符就可以了。
图片
010 editor的使用可以参考这几篇文章
BugKu CTF(杂项篇MISC)—这是一张单纯的图片
BugKu CTF(杂项篇MISC)—隐写

3.图片显示不全,高度被修改。很多题目里会给你一张图片,结果发现图片打不开,或者显示不全,这时候就考虑是不是图片高度被修改了,一般都是用010 editor修改回去就可以了。怎么发现图片高度被修改,以及怎么修改高度可以看下面这篇文章。
BugKu CTF(杂项篇MISC)—隐写
BugKu CTF(杂项篇MISC)—只有黑棋的棋盘

4.文件头标识或者文件后缀被修改,有时候给你一个txt文件,打开之后乱码,最后发现其实是图片,只是后缀被修改了。或者一张图片打不开,最后发现是文件头标识被修改。比如这道题,txt文件打开之后是一堆乱码。发现头部有个NG,猜测可能是png图片。
图片

用010 editor编辑器打开看看,89504E47是PNG文件头标识。这应该是一张图片被改后缀了。因此将txt后缀改为png。
图片

打开看到一张图片。
图片
常用的文件头标识可以参考这篇文章
BugKu CTF(杂项篇MISC)—赛博朋克

三.总结
本题需要掌握010 editor编辑器,zip压缩包文件头和伪加密方式,图片隐写查看器Stegsolve,LSB隐写等。
常用文件的文件头如下(16进制):
JPEG (jpg),文件头:FFD8FFE1
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221

  • 14
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C知道:ctfreverse型是指需要逆向分析的CTF型。解题思路可以分为以下几个步骤: 1. 静态分析:首先,将给定的二进制文件进行静态分析,使用反编译工具(如IDA Pro)来查看代码的逻辑结构和函数调用关系。这可以帮助你理解程序的工作原理和逆向逻辑。 2. 动态调试:将程序加载到调试器(如GDB)中,以动态调试的方式执行程序。通过设置断点、查看寄存器和内存状态,以及跟踪程序执行流程,可以帮助你理解程序的运行过程和数据处理方式。 3. 逆向逻辑分析:根据程序的静态分析和动态调试结果,分析程序的逆向逻辑。这包括理解输入数据的处理方式、算法和加密机制等。你可以关注特定的代码块或函数,并尝试弄清楚它们的功能和目的。 4. 寻找漏洞或关键信息:在逆向逻辑分析的过程中,要留意可能存在的漏洞或关键信息。这可能是一些硬编码的密码、密钥或验证条件等。寻找这些信息有助于解决问或绕过验证。 5. 反向运算或解密:根据逆向逻辑和找到的关键信息,尝试进行反向运算或解密。这可能涉及到逆向算法、还原加密操作或破解密码等。使用逆向工具或编写自定义脚本来实现这些操作。 总之,ctfreverse型的解题思路是通过静态分析和动态调试来理解程序的逆向逻辑,寻找漏洞或关键信息,并进行反向运算或解密来获取答案或绕过验证。这需要一定的逆向工程技术和经验,因此平时的学习和实践是非常重要的。希望这个解题思路对你有所帮助!如果有其他问,欢迎继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全研究所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值