CTFSHOW-MISC入门(1-24)


前言

CTFSHOW : https://ctf.show/challenges (点击网址跳转)
每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。

  • 题目:
  • 解决思路:
  • flag:
  • 疑问:

图片篇(基础操作)

misc1

  • 题目:
    在这里插入图片描述

  • 解决思路:
    打开图片,看到flag

  • flag:
    ctfshow{22f1fb91fc4169f1c9411ce632a0ed8d}

misc2

  • 题目: 解压得到txt文件
    在这里插入图片描述

  • 解决思路:
  • 看到txt文件,notepad++或者010、winhex打开txt文本查看文件头
  • 发现文件头8950对应的文件后缀格式是PNG,说明该文件是PNG图片,所以把txt改成PNG后缀名即可

  • 查看文件头对应的文件格式
    在这里插入图片描述

  • 把txt改成PNG后缀名即可

在这里插入图片描述

  • flag:
    ctfshow{6f66202f21ad22a2a19520cdd3f69e7b}

misc3

  • 题目:

压缩包解压后,就这样。我本人一开始没有下载BandiView和Honeyview,所以该bpg文件没有图片效果的

在这里插入图片描述


  • 解决思路:
  • notepad++打开txt文本发现内容以BPG”开头
  • 文本的后缀名已经对应文件头的格式
  • 所以用能够打开bpg后缀文件的软件打开尝试查看
  • 下载BandiView或者Honeyview打开查看flag,成功

在这里插入图片描述


  • flag:
    在这里插入图片描述

misc4 *

  • 题目: 压缩包解压后
    在这里插入图片描述

  • 解决思路:
  • notepad++打开txt文本发现内容以“塒NG”、“GIF89a”等等开头,猜到是格式问题了
  • 用16进制查看文件的文件头,文件头都与内容开头的文件格式对应,确定是格式问题
  • 把文本的后缀名改成其文件头的格式即可

在这里插入图片描述在这里插入图片描述


  • 第六个文件,文件头是 “52494646”(即 “RIFF”),由于前面五个都是图片格式,其对应着RIFF中的WebP文件(图像格式)
    在这里插入图片描述

  • flag:
    在这里插入图片描述)

  • 疑问:

比如,第二个文本的文件头是jpg格式,为什么改成png格式也可以查看flag?

在这里插入图片描述)


图片篇(信息附加)

misc5

  • **题目:**压缩包解压后
    在这里插入图片描述
    在这里插入图片描述

  • 解决思路:
  • 点开图片,显示,flag不在这里
  • 尝试着用notepad++打开txt文本,拉到下面,发现藏着flag
  • 16进制也可以查看得到flag

  • 用010和记事本也可以找到

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


  • flag:
    如上图所示

misc6

  • 题目: 压缩包解压后
    在这里插入图片描述在这里插入图片描述)

  • 解决思路:
  • 使用010 Editor,使用 CTRL+F 搜索功能,选择ASCLL,输入ctf,或者flag等等
  • 使用notepad++r,使用 CTRL+F 搜索功能,选择ASCLL,输入ctf,或者flag等等

  • 使用010 Editor,使用 CTRL+F 搜索功能,选择ASCLL,输入ctf,或者flag等等在这里插入图片描述

  • 使用notepad++r,使用 CTRL+F 搜索功能,选择ASCLL,输入ctf,或者flag等等
    在这里插入图片描述

  • flag:
    如上图所示


misc7

  • 题目: 和misc6一样

misc8 (多种解)

  • 题目: 压缩包解压后
    在这里插入图片描述在这里插入图片描述)

  • 解决思路1:

  • notepad++查看文件头没问题,并且文本内容和16进制内容搜索不到flag
  • 答案借鉴
    • 先用binwalk 来分析文件是否由多个文件组成
    • 如果是由多个文件组成,用 binwalk -e 文件名 分离文件
    • 如果分离后,得不到flag,再用“ foremost 文件名 -o 新命名的文件 “”来分离文件

  • binwalk 来分析文件,可见misc8.png图片由二个png图片组成
    在这里插入图片描述

  • 我这边要在命令后面加上 --run-as=root 不然没有权限,分离得到_misc8.png.extracted文件
    在这里插入图片描述

  • 查看_misc8.png.extracted文件,得不到想要结果

在这里插入图片描述


  • 使用foremost分离文件
    在这里插入图片描述

  • 细节:
  • 在这里我是通过xftp把test文件传到真机查看其内容,但是查看的test文件夹是空的,同时在虚拟机kali下进入test文件,以及想进入test的子目录,没有执行权限,就是因为kali用户对test文件没有执行权限, 所以要更改权限chmod
    在这里插入图片描述

  • 使用chmod -R test 更改test文件及其文件子目录的权限
    在这里插入图片描述

  • 进入png文件夹,查看图片,第一张没有,第二张有flag
    在这里插入图片描述=在这里插入图片描述

  • flag:
    在这里插入图片描述

  • 解决思路2: 010和notepad++手动分离
  • notepad++查看文件头没问题,并且文本内容和16进制内容搜索不到flag
  • 答案借鉴
    • 先用binwalk 来分析文件是否由多个文件组成
    • 分析得到文件由二个png图片组成,并且binwalk分析出二个图片的开始与结束位置
    • 通过notepad++手动分离(删除其中一个图片),单独分离出二个图片,看哪个图片有flag

  • binwalk 来分析文件
    在这里插入图片描述

  • 这边只示范单独分离出第二个图片(第一个单独分离出来得不到flag)
    在这里插入图片描述

  • 选中第一个png图片的16进制区域,鼠标右键,点击Delete删除第一个图片的16进制文件,这样可以单独分离出第二个png图片
    在这里插入图片描述

  • flag:
    在这里插入图片描述

  • 解决思路3: 使用dd命令可跳过第一张图片,手动分离出第二张图片
  • 先用binwalk 来分析文件中的二张图片的16进制位置
  • 使用dd命令可跳过第一张图片(即bs=1 count =11633 skip=3892 ),读取第二张,单独分离出来

  • 3892表示的是跳过3892个字节,即跳过第一张图片,11633是十六进制ox2d71换算来的,保证读取完整在这里插入图片描述

  • 单独分离出第二种图片
    在这里插入图片描述

  • 疑问: 图片读取不完整的问题
  • count =3954,只能读取一半
    在这里插入图片描述

  • count =63,图片是灰色
    在这里插入图片描述
    在这里插入图片描述

misc9

  • 题目: 和misc6一样,文本或者16进制找flag

misc10

  • 题目: 压缩包解压后
    在这里插入图片描述在这里插入图片描述)

  • 解决思路1:
  • notepad++查看文件头没问题,并且文本内容和16进制内容搜索不到flag
  • 先用binwalk 来分析文件是否由多个文件组成
  • 得到png和zlip,有隐藏文件
  • 使用binwalk分离
  • binwalk分离得不到,再用foremost

  • 分析得到png和zlip(文件后缀名为 .zlib 表示该文件是使用 zlib 库压缩的),有隐藏文件,再使用binwalk分离,
    在这里插入图片描述

  • 分离得到文件夹,点击进入文件下查看
    在这里插入图片描述

  • flag:

  • flag在10E5文件中
    在这里插入图片描述


  • 解决思路2: 使用foremos没成功
  • 用foremost分离文件,得到test文件夹

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


  • flag:

  • 伪flag
    在这里插入图片描述


misc11

  • 题目: 解压后得到一张伪flag 的png图片
    在这里插入图片描述
    在这里插入图片描述

  • 解决思路:
  • 题目中给了提示flag在另一个图中
  • notepad++查看文件头没问题,并且文本内容和16进制内容搜索不到flag
  • 先用binwalk 来分析文件
  • 得到png和二个zlip,判断该文件有隐藏文件
  • 使用binwalk分离
  • binwalk分离得不到,再用foremost
  • 发现binwalk和oremost都不行
  • 使用tweakpng排查发现含有2个IDAT块,图片默认显示第一个,根据提示删除第一个IDAT,保存得到一个新图片,得到flag

在这里插入图片描述


  • binwalk分离出的文件夹下,没有flag
    在这里插入图片描述

  • 再用foremost分离图片
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 使用tweakpng根据题目提示flag在另一张图里,删除第一个IDAT,保存得到一个新图片
    在这里插入图片描述

  • flag:
    在这里插入图片描述
  • 总结:
  • 出题人意图:对图片IDAT数据块的考察,所以要了解png图片的四大数据块
  • PNG 的图像数据块(IDAT)存储图像的实际数据,相当于 BMP 图像的图像数据。PNG 可以包含多幅图像,所以 PNG 的图像 数据块可能是由一幅图像的数据组成,也可能是由多幅图像的数据组成(默认显示第一个IDAT数据块图像)

misc12 *

  • 题目: 题目和misc11一样,解压得到png图片,伪flag

  • 解决思路:
  • 看题目提示:flag在另一张图里
  • 010或者notepad打开,flag在文本或者16进制中是找不到
  • 使用binwalk分析文件,没看到有隐藏文件
  • 使用tweakpng,发现有很多IDAT块,IDAT合并,binwalk分离,也不行
  • 使用tweakpng依次删除,删到前8个后,在第九个IDAT保存,图片出现flag

  • 尝试binwalk分析与IDAT合并
    在这里插入图片描述

  • 使用tweakpng,发现有很多IDAT块,IDAT合并,binwalk分离也不行
    在这里插入图片描述

  • 使用tweakpng依次删除,删到前8个后,在第九个IDAT保存,图片出现flag
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • flag:
    如上图所示

  • 疑问:
    有人把IDAT合并后,得出删除前8个,怎么做?

misc13

  • 题目: 题目和misc11一样,解压得到png图片,伪flag

  • 解决思路:
  • 题目提示flag位置在图片末尾
  • tweakpng打开文件发现两个IDAT块,但是删除后图片是黑色,无flag
  • 用notepad++的16进制查看,大概看到有ctf和flag的ASLL码,但是不完整
  • 用010查看,也有ctf,只不过被一些字符分隔开了,但是比较完整(比notepad++不完整),根据这些flag的特征,以ASCLL码的形式搜索c或者oK ,搜索出4处,题目说在图片末尾,可以尝试第2,3,4

  • notepad++的16进制查看,大概看到有ctf和flag的ASLL码,但是不完整
    在这里插入图片描述

  • 用010查看,以ASCLL码的形式搜索c或者oK ,搜索出4处

在这里插入图片描述


  • 发现他们都是隔位有个字符,按规律隔位删除字符即可,得到四个flag

ctfshow{ae6e3fa48f528b1742d72e6f41298380}

ctfshow{1e3e2ed48f518b7e4267de1c412a839a}

ctfshow{ae6e3ea48f518b7e42d7de6f412f839a}

ctfshow{ae6e46c48f739b7eb2d1de6e412f839a}

  • 题目提示在末尾,从后面开始试,答案在第三个

  • flag:

ctfshow{ae6e3ea48f518b7e42d7de6f412f839a}


  • 尝试:
    binwalk和foremost不行

misc14

  • 题目: zip解压得到JPG图片,伪flag
    在这里插入图片描述
  • 解决思路:
  • 题目提示:flag在那张图里
    -常规思路,用notepad++和010查看,找不到
  • binwalk分析,显示有隐藏文件,但分离不出,没变化
  • foremos分离,得到伪flag图片
  • 答案借鉴
    • 题目提示flag在那张图里,原图是jpg格式,binwalk分析,隐藏二个jpg和二个tif图片,分离出第二个jpg图片
    • 用dd命令,手动选择分离
  • binwalk分析,显示有隐藏文件,但分离不出,没变化。 -foremos分离,得到伪flag图片
    在这里插入图片描述

  • dd命令,手动选择分离
    在这里插入图片描述

  • flag:
    在这里插入图片描述

  • 解决思路2:

  • binwalk分析得到第二张jpg图片位置在0x837,把前面的数据删除保存即可得到第二张jpg图片
  • 用16进制查看文件的文件头,文件头都与内容开头的文件格式对应,确定是格式问题
  • 把文本的后缀名改成其文件头的格式即可

在这里插入图片描述


  • 解决思路3:
  • 查询资料和借鉴答案,对于该jpg图片常规binwalk - e命令分离不了
    在这里插入图片描述

在这里插入图片描述


  • binwalk -D=jpeg misc14.jpg --run-as=root

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


  • flag:
  • 还得把文件后缀名改成jpg格式

在这里插入图片描述


  • 疑问 已解决
    用notepad++和010查看二个jpg的文件头发现不相同FF D8 FF E1和FF D8 FF E0
    在这里插入图片描述

  • JPEG图像数据,EXIF标准、JPEG图像数据,JFIF标准
    在这里插入图片描述

misc15

  • 题目: 解压得到bmp图片
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag被跳过去了 (misc15就是这么简单,不过这里有个点,就是题目里那个“跳”字。BMP格式的文件头里有4位字节叫作偏移量,是用来指定从哪个字节开始为实际图像数据用的。这题就是利用增大这个偏移量的方法,把冗余数据塞在了BMP头和图像数据中间的地方。因为这段数据不会被识别,所以可以说是跳过去了。—来自评论区用户的评论见解)
  • notepad++和010打开发现有ctfshow字眼

在这里插入图片描述


misc16

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:
  • notepad++和010打开,找不到ctfshow字眼
  • 根据提示,先binwalk分析和分离
  • binwalk分离的到四个文件,DD4用记事本打开有flag

在这里插入图片描述

  • flag:
    ctfshow{a7e32f131c011290a62476ae77190b52}

misc17

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在图片数据里
  • notepad++和010打开,找不到ctfshow字眼
  • 根据提示,binwalk分析有3个文件,分离文件后,无结果
  • foremost分离也不行
  • 由于题目是PNG图片,尝试用tweakpng一个个删除,也不行,最后合并所有IDAT再分离,得到二个文件,也无结果
  • 看了一下答案 (kali安装zsteg)
    • 用到zsteg命令 (用于检测PNG和BMP图片中隐藏数据的工具,它可以帮助用户发现和提取图像中隐藏的信息)
    • zsteg检测到misc17.png有隐藏的信息 “ extractata :0”
    • zsteg把misc17.png中隐藏的信息 “ extractata :0” 提取到指定文件“s”
    • 最后binwalk分离文件“s”,得到_s.extracted 文件夹
    • kali打开IF可以看到flag

  • binwalk分析
    在这里插入图片描述

  • binwalk分离,无结果
    在这里插入图片描述

  • zsteg检测到misc17.png有隐藏的信息 “ extractata :0”
    在这里插入图片描述

  • zsteg把misc17.png中隐藏的信息 “ extractata :0” 提取到指定文件“s”
    在这里插入图片描述

  • 最后binwalk分离文件“s”,得到_s.extracted 文件夹
    在这里插入图片描述

  • kali打开IF可以看到flag

在这里插入图片描述


  • flag:
  • 在真机查看,要改成png后缀名
    在这里插入图片描述

  • kali本身安装了zsteg的话,直接binwalk可以出flag(没有安装zsteg,binwalk只能分离出前面二个文件)
  • flag在“D6E“
    在这里插入图片描述

misc18

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在标题、作者、照相机和镜头型号里
  • 查看图片属性

在这里插入图片描述在这里插入图片描述

  • flag:
    ctfshow{325d60c208f728ac17e5f02d4cf5a839}

misc19

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在主机上的文档名里
  • notepad++和010、winhex打开,找不到ctfshow字眼
  • 看答案
    • 使用EXIF查看器,网址:https://exif.tuchong.com/


  • flag:
    ctfshow{dfdcf08038cd446a5eb50782f8d3605d}

misc20

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在评论里。
  • 使用EXIF查看器,网址:https://exif.tuchong.com/ 网站入口 (点击即可)

在这里插入图片描述


  • 解决思路2: 使用HoneyView也行,效果不佳
    在这里插入图片描述

  • flag:
    ctfshow{c97964b1aecf06e1d79c21ddad593e42}

  • 解决思路3: 利用exiftool查看(下载了,没试过))


misc21

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在序号里
  • 使用EXIF查看器,网址:https://exif.tuchong.com/ 网站入口 (点击即可)

  • 16进制转字符串的得到hex(X&Ys)

在这里插入图片描述


  • hex(X&Ys)的意思是把X和Y转成16进制,对于分辨率和单位来说,是十进制
    在这里插入图片描述

  • 分别将X分辨率,Y分辨率,X定位,Y定位进行hex转换 (先拼接在转,转不了)
  • X分辨率 3902939465转16进制为e8a22149
    在这里插入图片描述

  • Y分辨率 3902939465转16进制
    在这里插入图片描述

  • flag:
    ctfshow{e8a221498d5c073b4084eb51b1a1686d}

misc22

  • 题目: 解压得到jpg图片,点进去看不到黄色字体,是缩略图
    在这里插入图片描述在这里插入图片描述

  • 解决思路:
  • 题目提示:flag在图片里
  • binwalk分析没有找到压缩包,所以不出文件
  • 试一试jpg图片里是否还有jpg图片,然后找到2个FFD8,删除前面的保存,得到有黄色的flag

在这里插入图片描述


  • flag:
  • ctfshow{dbf7d3f84b0125e833dfd3c80820a129}
    在这里插入图片描述

  • 解决思路 2:
  • 使用exiftool 工具
    在这里插入图片描述

  • 解决思路 3: Magicexif和XnView也行 (直接查看缩略图)
  • 在这里插入图片描述

在这里插入图片描述


misc23

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:flag在时间里
  • 看到时间想到图片属性,查看但是没有
  • 看了答案
    • 在kali 使用 exiftool misc23.psd 命令查看图片信息,根据提示
    • 可以看到History Action给了ctfshow{},unixtimestamp是时间戳,DECtoHEX(十进制转十六进制),得到flag

在这里插入图片描述



  • 将时间戳,即十进制转成十六进制,最后把四个十六进制部分拼接得到flag (3425649ea0e31938808c0de51b70ce6a)

  • flag:
    ctfshow{3425649ea0e31938808c0de51b70ce6a}

misc41

  • 题目:
    在这里插入图片描述

  • 解决思路:

  • 题目提示:(本题为Misc入门图片篇和愚人节比赛特别联动题)
    H4ppy Apr1l F001’s D4y!
    愚人节到了,一群笨蛋往南飞,一会儿排成S字,一会儿排成B字。
  • 当时没想到
  • 答案
    • 根据提示得出答案和“F001”这几个字符有关,用010 editor打开后使用十六进制搜索"F001",全部显示,高亮部分的形状就是flag。

在这里插入图片描述

  • flag:
  • ctfshow{fcbd427caf4a52f1147ab44346cd1cdd}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

粤安有我_小曾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值