ctfshow(misc入门)

知识点

1.如何更改后缀名

ctf中有一些打开是乱码文件 更改后缀名之后 才能找到我们想要的信息

第一种方法:在kali liunx里面使用file命令

第二种方法

使用010或者是winhex打开文件 查看文件头

使用场景:windows下通过文件头信息判断文件类型

PNG
1)文件格式
•头识标,89 50 4E 47 0D 0A 1A 0A

•宽度位0x10-0x13,不可随意更改,需根据CRC值修改

•高度位0x14-0x17,可随便改

•CRC校验位0x1D-0x20,CRC是对文件数据块的校验,修改数据块会使校验失败,文件无法正常显示

2)高度显示不完整

3)宽度显示不完整
需根据爆破文件的CRC值修改宽度,否则会打开文件失败

4)LSB隐写

使用工具stegsolve或者是kali看

•用stegsolve查看

JPG

1)文件格式
 •头识标,FF D8

•尾识标,FF D9

2)宽度高度的修改
base64源码转图片
GIF
1)文件格式
 •头标识,47 49 46 38(GIF8)

2)flag藏在某一帧中,用stegsolve查看

2.文件分离

在kali linux里面两种工具

Binwalk工具
Binwalk是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离。如果分离成功会在目标文件的目录。
同目录下生成一个形如_ 文件名_ extracted的文件目录,目录中有分离后的文件。
用法:
分析文件: binwalk filename
分离文件: binwalk -e filename

foremost
如果binwalk无法正确分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。
用法:
foremost 文件名 -o 输出目录

3.文件内容隐写

文件内容隐写,就是直接将KEY以十六进制的形式写在文件中,,通常在文件的开头或结尾部分,分析时通常重点观察文件开头和结尾部分。如果在文件中间部分,通常搜索关键字KEY或者flag来查找隐藏内容。
使用场景:windows下,搜索隐写的文件内容。

第一种工具  Winhex/010Editor
通常将要识别的文件拖入winhex中,查找具有关键字或明显与文件内容不和谐的部分,通常优先观察文件首部和尾部,搜索flag或key等关键字,最后拖动滚轮寻找。

第二种工具  Notepad++
使用notepad++打开文件,查看文件头尾是否有含有关键字的字符串,搜索flag或key等关键字,最后拖动滚轮寻找。
​另外通过安装插件HEX-Editor可以实现winhex的功能。

4.伪加密

 zip伪加密是在文件头的加密标记位做修改,进而再打开文件时识被别为加密压缩包未加密:

文件头中的全局方式位标记为00 00

目录中源文件的全局方式位标记为00 00

伪加密:

文件头中的全局方式位标记为00 00

目录中源文件的全局方式位标记为09 00

真加密:

文件头中的全局方式位标记为09 00

目录中源文件的全局方式位标记为09 00

ps:也不一定要09 00或00 00,只要是奇数都视为加密,而偶数则视为未加密

#zip被真加密时  使用工具ARCHPR进行爆破

5.基本方法

1)使用010或者winhex打开观察文件头 看是否有错误

2)使用010或者winhex打开后查找flag

3)使用kali linux查找是否有隐藏文件 若有 进行分离

4)使用Tweak PNG进行查看IDAT

图片有2个IDAT块,使用tweakpng工具,尝试删除第一个IDAT块的数据,另存为后打开新图片。

图片有很多个IDAT块,先使用PNGDebugger跑一下,看看有没有出错的IDAT块,没有就慢慢试一个一个删除看看。

实例

misc2

打开.txt发现是乱码 用010打开 发现png开头 更改后缀名

misc3

后缀名为.bpn 用honey view打开 即得出flag

misc4

受前面的提示文件打开后是乱码 更改后缀名为.png 1-6即为flag

misc5-7

使用010或者winhex打开,隐写,用CTRL+F查找flag 即可得到flag

misc8

这里面包含了两个文件

使用Linux里面的binwalk和foremost可以分离 即可得出flag

misc9

同样是隐写 使用CTRL+F查找flag 即可得出

misc10

首先在010中查找相应的flag 没找到

接着在kali linux里面使用binwalk或者foremost 查找隐藏文件

misc11

这个图有两个IDAT块,而且没有隐写其他的数据,试着把第一个IDAT块的数据删除,然后另存为一张新图片,这个过程可以手动操作,也可以使用tweakpng工具。

使用TweakPNG打开图片 删除第二个数据 再次打开图片即可得到flag

misc12

使用Tweak PNG删除IDAT前八项再次打开即可得到flag

参考资料:

https://blog.csdn.net/orchid_sea/article/details/128880176

https://www.cnblogs.com/xinssblog/p/15879465.html

http://t.csdnimg.cn/LqE66

http://t.csdnimg.cn/Uua6m

  • 19
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值