CTFSHOW-MISC入门

图片篇(基础操作)

MISC 1

打开即得flag

MISC 2

请添加图片描述打开是一个txt文件,使用win的记事本打开,这个塒NG开头就是png文件了。
改后缀为png,打开即得flag。

也可以winhex或者010直接打开,从而知道是png文件
mac上可以用hex fiend
请添加图片描述
python3脚本

#用于获取图片中的文字
import pytesseract
from PIL import Image

pytesseract.pytesseract.tesseract_cmd = r'D:\应用\Tesseract-OCR\tesseract.exe'
tessdata_dir_config = r'--tessdata-dir "D:\应用\Tesseract-OCR\tessdata"'

image=Image.open(r"D:\this_is_feng\CTF\MISC\ctfshow_misc入门\misc2\misc2.png")
code = pytesseract.image_to_string(image, config=tessdata_dir_config)

print(code)

关于pytesseract,可以参考这个

MISC 3

是bpg图片,正常不能打开,需要使用能查看bpg图片的软件打开
bpg下载
win使用方法

 bpgview.exe 图片名称

mac上的不知道咋用,有师傅会的话教教我hhh

MISC 4

给了6个txt文件,hex fiend打开 看文件头和文件尾判断是什么文件

知识点

  1. JPEG\JPG
    文件头:FF D8 FF     
    文件尾:FF D9
    开头四个点 结尾也是点
  2. TGA
    未压缩的前4字节 00 00 02 00
    RLE压缩的前5字节 00 00 10 00 00
  3. PNG
    文件头:89 50 4E 47 0D 0A 1A 0A    
    文件尾:AE 42 60 82
    即开头为.PNG,结尾为IEND.B
  4. GIF
    文件头:47 49 46 38 39(37) 61    
    文件尾:00 3B
    开头为GIF89a
  5. BMP
    文件头:42 4D
    文件头标识(2 bytes) 42(B) 4D(M)
    BM开头
  6. TIFF (tif)
    文件头:49 49 2A 00
    II开头
  7. ico
    文件头:00 00 01 00
    Adobe Photoshop (psd)
    文件头:38 42 50 53

所以第一个为png、第二个是jpg、第三个是bmp、第四个是gif、第五个是tif、第六个是webp文件。应该为RIFFL开头
改后缀即可

图片篇(信息附加)

MISC 5

用hex fiend或者win hex或者010打开,
请添加图片描述

总是感觉经过修改过后的图片显示的内容有点奇怪:
请添加图片描述

MISC 6

同上,搜索即可
请添加图片描述

MISC 7

提示:flag在图片文件信息中。
同上hexfiend打开搜索ctf即可

或者根据提示
右键查看属性、右键查看属性是常用的方法,不过获取不到图片的全部文件信息,也得不到这题的flag
听说可以使用在线网站查看详细的exif信息,但是还是没找到、显示不全

可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

或者用notepad打开也能做

MISC 8

提示:flag在图片文件中图片文件中。
用hex fiend打开,可以发现图片的内容有PNG(即隐写了其他图片)手动或者binwalk或者foremost分离出图片。
请添加图片描述
binwalk

Binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具。 具体来说,它被设计用于识别嵌入固件镜像内的文件和代码。 Binwalk使用libmagic库,因此它与Unix文件实用程序创建的魔数签名兼容。 Binwalk还包括一个自定义魔数签名文件,其中包含常见的诸如压缩/存档文件,固件头,Linux内核,引导加载程序,文件系统等的固件映像中常见文件的改进魔数签名。

使用方法参考文章

使用binwalk

输入命令 binwalk misc8.png

请添加图片描述可以看见第三行还有一个png图片,起始地址是3892

输入命令:dd if=misc8.ong of=1.png skip=3892 bs=1

然后会在当前目录下生成一个1.png文件,打开即可
其中if=misc8.jpg是输入文件,of=1.png是输出文件,skip是指定从输入文件开头跳过3892个块后再开始复制,bs设置每次读写块的大小为1字节 。

使用命令foremost

foremost 和 binwalk 类似,主要是用于CTF_杂项的隐写题,分离提取隐写的文件。

输入命令

输入命令:foremost misc8.png

可以直接将图片文件中包含的所有文件分离,输出到一个output文件夹中。打开这个文件夹,我们可以看到audit.txt为记录分离过程的文件,png为该图片文件中包含的所有.png文件,zip为该图片文件中包含的所有.zip文件。打开png文件夹即可找到flag

MISC 9

提示:flag在图片块里
用hex fiend打开一样找得到flag

MISC 10

提示:flag在图片数据里。
binwalk -e 分离出数据后;打开第一个文件即得flag。

知识点

请添加图片描述

请添加图片描述

MISC 11

提示:flag在另一张图里。
根据上一题的知识点,加上提示,大概猜测为多个IDAT数据,导致显示不出来flag,删除其他IDAT数据,只保留flag的即可得到flag。
把第一个IDAT块的数据删除,然后另存为一张新图片
使用工具:Tweakpng
右击第一个IDAT块,然后delete就行了。
请添加图片描述

MISC 12

提示:flag在另一张图里。

和上题一样,不过这题有30个IDAT块,用PNGDebugger跑了一下,但是发现没有出错的IDAT块…测试后发现需要删掉前8个IDAT块

知识点

PNG Debugger 可以进行读取 PNG 图片的数据,检测各数据块中的 CRC 是否正确,在 Windows 下使用。
CRC 码是 循环冗余校验码 的简称,是 png 图片中一种的数据, 是目前使用非常广泛的数据校验方式,不仅能校验传递过来的数据正确性,还能筛查出哪一位出现了错误。
比如可用于判断 png 图片的宽和高是否正确。

使用方法:
进入pngdebugger 目录下使用命令

pngdebugger misc12.png

请添加图片描述

MISC 13

提示:flag位置在图片末尾。
hex fiend打开可以看见四处ctfshow flag字样

请添加图片描述

只有一处是对的
是这样解释的:

13是这样的,文件里一共塞了四个flag,需要判断哪一个是正确的。根据题目提示,“flag位置”在文件末尾,找到文件末尾的IEND块,会发现这个块是14字节而非通常的12字节,也就是说这个块除了4位长度、4位标识和4位CRC,还带了两位数据(通常IEND块是不带数据的,但它也可以带,这应该就是本题知识点)。这两位数据就是正确flag开头那个c字符的字节序号。换句话说其实先找到IEND块里这个序号,然后去找对应的字节,一眼就能看到flag了。强行硬找的话一般会找到第一个,那个是假的;但是不是很理解

png数据块结构
可以看到0DE1是隐藏的数据,
请添加图片描述
找到0DE1这一处即可
请添加图片描述
注意到{前面那一串字符,从第一位开始,每隔一位选取一个字符,连起来就是ctfshow
这里把这串十六进制数值复制下来,按照规律选取正确的数值

a="631A74B96685738668AA6F4B77B07B216114655336A5655433346578612534DD38EF66AB35103195381F628237BA6545347C3254647E373A64E465F136FA66F5341E3107321D665438F1333239E9616C7D"

flag=""
for i in range(0,len(a),4):
    hexStr=a[i:i+2]
    flag+=chr(int("0x"+hexStr,16))
print(flag)

MISC 14

提示:flag在那张图里。
猜测应该是图片中还有图片

使用命令

binwalk -e misc14.jpg

结果:
请添加图片描述
发现有4段、第四段还是jpeg文件

知识点:

标签图像文件格式(Tag Image File Format,TIFF)是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像,最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。TIFF格式在业界得到了广泛的支持,如Adobe公司的Photoshop、The GIMP Team的GIMP、Ulead PhotoImpact和Paint Shop Pro等图像处理应用、QuarkXPress和Adobe InDesign这样的桌面印刷和页面排版应用,扫描、传真、文字处理、光学字符识别和其它一些应用等都支持这种格式。从Aldus获得了PageMaker印刷应用程序的Adobe公司控制着TIFF规范。

从binwalk分析出来的数据位置截取数据。可以看到其实地址为2103
使用命令

dd if=misc14.jpg of=flag.jpg skip=2103 bs=1

打开flag.jpg即可。关于dd命令可以看misc8

MISC15

hex fiend打开即可
请添加图片描述

MISC16

提示:flag在图片数据里。
使用命令

binwalk misc16.png

结果:
请添加图片描述
可以看见有一个lzma算法的压缩文件,(这种文件的后缀名为.lzma,可以用7-zip打开)

LZMA,(Lempel-Ziv-Markov chain-Algorithm的缩写),是一个Deflate和LZ77算法改良和优化后的压缩算法,开发者是Igor Pavlov,2001年被首次应用于7-Zip压缩工具中,是 2001年以来得到发展的一个数据压缩算法。它使用类似于 LZ77 的字典编码机制,在一般的情况下压缩率比 bzip2 为高,用于压缩的可变字典最大可达4GB。

方法:使用命令

binwalk -e misc16.png

打开结果里面的DD4文件即可

MISC17

先binwalk分析,没啥问题,然后试试zsteg

zsteg工具:用于检测被隐写在png,bmp图片里的数据。

请添加图片描述
发现隐藏的数据,位置处于extradata:0;有3544 bytes的隐写内容
将数据提取出来:

zsteg -E  "extradata:0" misc17.png > 1.txt

然后再binwalk -e把1.txt中的数据分离出来,拿到flag

binwalk -e 1.txt

MISC 18

提示:flag在标题、作者、照相机和镜头型号里。
使用在线网站查看详细的exif信息
请添加图片描述

MISC 19

提示:flag在主机上的文档名里。
方法同上

MISC 20

提示:flag在评论里。
方法同上
请添加图片描述
ctfshow{c97964b1aecf06e1d79c21ddad593e42}

MISC 21

提示:flag在序号里。
方法同上
请添加图片描述
16进制解码
得到:hex(X&Ys)

hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
请添加图片描述

将xy四段,每段分别转换为16进制,组合起来加上ctfshow{}即可
ctfshow{e8a221498d5c073b4084eb51b1a1686d}

MISC 22

提示:flag在图片里

知识点:

ThumbnailImage 缩略图
JPEG图片采用了有损压缩的方式,其过程比较复杂。过去的JPG图片是不含内嵌缩略图的,但现在为了能让大家快速查看其缩略图,研发PEG格式的专家组就制定了多一项标准在图片文件中记录了一些EX℉信息。数码照相机拍出的图片带有相机的很多参数,这都属于EXIF信息,其中缩略图也是一部分。缩略图其实是一幅较小的JPEG图片,存储在EXIF信息段,因此这个缩略图是内嵌在图片文件里面的。支持EX℉信息内嵌缩略图数据库的片格式的图片除了JPEG格式(.jpg、jpeg、jpe),还有PSD、PDD、EPS、TIF、TIFF等格式。

使用工具exiftool
使用命令:

exiftool -ThumbnailImage -b misc22.jpg > 1.jpg

工具命令:

1:-b (-binary) 以二进制输出元数据
2:生成image.raw的缩略图thumbnail.jpg
exiftool -b -ThumbnailImage image.raw > thumbnail.jpg
参考文章

打开1.jpg即可
请添加图片描述
或者使用magicexif直接打开

请添加图片描述

MISC 23

提示:flag在时间里。
时间应该是属于图片的属性,所苦可以用exiftool来查看

exiftool misc23.psd

请添加图片描述
可以看到flag的形式, UnixTimestamp, DECtoHEX, getflag
Timestamp指的是时间戳,DECtoHEX是十进制转十六进制
(decimalism十进制,hexadecimal十六进制)
根据提示
History When : 1997:09:22 02:17:02+08:00, 2055:07:15 12:14:48+08:00, 2038:05:05 16:50:45+08:00, 1984:08:03 18:41:46+08:00

+08:00是转换为北京时间的意思

UTC是国际时,UTC+8就是国际时加八小时,是东八区时间,是北京时间。
GMT就是指格林尼治所在地的标准时间,+8:00就是东八区的时间,即北京时间。

在线时间戳转换网站
请添加图片描述
在将转换后的时间戳转为16进制,将四段都这样处理拼起来套上ctfshow{}即可。

MISC 41

提示:
(本题为Misc入门图片篇和愚人节比赛特别联动题)
H4ppy Apr1l F001’s D4y!
愚人节到了,一群笨蛋往南飞,一会儿排成S字,一会儿排成B字。
用010editor或者windex搜索F001 全部高亮显示,得到flag
(mac上面的hexfiend好像不能全部高亮)
请添加图片描述
请添加图片描述

图片篇(文件结构)

MISC 24

提示:flag在图片上面。

  • 15
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: kbd-misc-2.5.1是一个Linux操作系统下的键盘输入处理工具包,它包含了一些常用的工具和驱动程序,如loadkeys、dumpkeys、kbd_mode等。这些工具可以帮助用户配置和管理Linux系统下的键盘输入设备,包括设置键盘映射、键盘布局、键盘模式等。同时,kbd-misc-2.5.1还提供了一些驱动程序,如atkbd、ps2mouse等,用于支持各种类型的键盘和鼠标设备。kbd-misc-2.5.1是一个开源项目,它的源代码可以在GitHub上免费获取和更新,支持多种Linux发行版和硬件平台。 ### 回答2: kbd-misc-2.5.1 是一个开源软件包,其中包含了一些与键盘和输入设备有关的工具和驱动程序。这个软件包是在Linux内核中使用的,并提供了一些用于处理和管理键盘和输入设备的功能。 kbd-misc-2.5.1 软件包中的一些主要功能包括: 1. 键盘驱动程序:这个软件包提供了一些用于驱动各种类型的键盘的驱动程序。这些驱动程序允许操作系统与键盘进行通信,接收来自键盘的输入,并将其发送给应用程序。 2. 控制台工具:kbd-misc-2.5.1 还包含了一些用于控制台显示的工具。这些工具可以配置控制台的字体、颜色和布局等属性,提供了一些命令行工具来管理控制台的显示内容。 3. 输入法支持:该软件包还提供了对输入法的支持。它包含了一些输入法引擎和库文件,可以将输入法的功能集成到系统中,并提供输入法切换和输入法配置等功能。 4. 键盘映射:kbd-misc-2.5.1 还提供了一些工具和配置文件,用于定义键盘的映射规则。这允许用户自定义键盘的按键功能,以满足个人偏好或特定需求。 总之,kbd-misc-2.5.1 是一个用于处理和管理键盘和输入设备的开源软件包。它提供了一些驱动程序、工具和配置文件,允许用户自定义键盘和控制台的设置,并提供输入法支持和键盘映射功能。 ### 回答3: kbd-misc-2.5.1 是一个用于 Linux 操作系统的桌面键盘和控制台控制工具集。 kbd-misc-2.5.1 提供了一系列实用程序和工具,用于访问和管理 Linux 系统中的键盘和控制台。其中包括一些用于控制键盘布局和映射的工具,以及一些用于处理键盘输入的实用程序。这些工具可以帮助用户在 Linux 系统中调整和定制键盘的功能和行为。 kbd-misc-2.5.1 还包含一些用于控制台中显示的字符和图形的程序。这些程序可以提供更丰富的字符和图形显示效果,使控制台界面更加美观和易于使用。 该工具集还提供了一些用于处理输入事件和生成键盘事件的库和驱动程序。这些库和驱动程序可以与操作系统内核进行交互,以实现键盘输入的捕获和处理。 总的来说,kbd-misc-2.5.1 是一个功能丰富的工具集,用于在 Linux 系统中控制和定制键盘和控制台的功能和行为。它提供了一些实用程序、工具、库和驱动程序,帮助用户充分利用键盘和控制台的功能,提高系统的易用性和个性化定制能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值