2022 unctf misc 巨鱼及其相关知识点

2022 unctf misc

巨鱼及其相关知识点

 

这是本人打的第一个ctf比赛,虽然是学校招新赛,却也学到了不少新东西

这道题当时想了很久没写出来,后来发现要用上许多工具.解杂项不用工具真是寸步难行.

这里以照顾我这样的新人为目的,手把手教怎么解这道题.

 

首先试着把图片分离一下.

 

这里要用到foremost隐藏文件分离工具

Windowsforemost的安装:

对小白来说最简单的就是百度一下了.在百度某个软件站中下载即可(虽然说这样可能会下些奇奇怪怪的东西出来,不过我也找不到其他资源了)

随后将安装包解压.

这样的:

 

 

 

这里点击倒数第二个的Run.等程序配置好后按任意键就行了.

使用方法也很简单右键图片,找到发送到,然后就会出现foremost分离.

 

 

 

把巨鱼图片分解

 

 

 

得到了png图片与zip压缩包.顺带一提,分解出来的文件在被我们解压出来的output文件中.

 

 

看看zip,解压发现要密码,那么密码就一定在png中了.

在杂项中png图片最常见的就是宽高隐写了.

WinHex或者010 Editor打开.

 

WinHex:

 

Winhex我是在csdn上搜索下载的,还附有安装教程,十分贴心

说明下在png格式中1处代表的是图片的宽,2处代表的是图片的高.这里需要把2处的1c改为2c就行了.(切记别乱改宽高,这样的图片出来是乱码的)

 

然后直接保存就行了.再打开图片就发现密码啦.

 

无所谓我会出手

010 Editor:

这个软件是在吾爱破解论坛上找到的破解版.由于没有安装教程,我就全点next( ).

用法和winhex一样.

 

由于是英文版,对英语苦手的人来说可能有点难受.

打开后像winhex一样操作就是了.也就是把1c改为2c.

 

修改然后保存,结果和上面一样.

 

接下来解压zip压缩文件,密码是上面求出的:无所谓我会出手.

 

 

 

解出来的东西,打开会发现下面那个flag文本中的flag是假的.看来答案在这个flagisnothere压缩文件中了.直接解压会报错.根据经验可能是zip伪加密.

 

 

 

接下来就是比较难的部分了.

 

 

 

伪加密中一般就找这三个地方:50 4B 03 04:头文件标记

50 4B 01 02:目录中文件文件头标记

50 4B 05 06:目录结束标记.

50 4B 03 04在文件头部,如上图标记.标记前面那一串表示解压后在flag文件下.其中14 00表示解压文件所需的pkware版本.后面的00 00表示全局方式位标记,判断有无加密.标记数据后面的08 00表示压缩的方式.

 

50 4B 01 02在文件中间. 如上图,1F 00表示压缩使用的pkware版本.14 00表示解压文件所需pkware版本.00 00表示全局方式位标记.再后面的00 08代表压缩方式.

 

这里可以看见全局方式位标记出了错.本来应该是00 00,这里却是01 00.这就是文件打不开的原因,01 改成 00就行了.

 

 

 

 

50 4B 05 06在文件的最后,00 00表示当前磁盘编号,后面的00 00表示目录区开始的磁盘编号.

一般来说遇见伪加密,按照上面的方法去找就行了.

 

按照我上面说的把01 改成00.保存后再解压.

 

 

 

解压后出现两个文件,flag需要密码,只能在pass中找答案了.

 

 

 

化学不好的话确实有些头痛.这张图表示C6Cl6H6.

所以密码是666.

输入密码进入文档.

 

 

 

找到flag.这里是文档隐写常见的做法,原理是文字颜色和背景颜色一样了,把文字选中然后改颜色就能看见了.

到这里这道题就完全解出了.

 

下面讲一下自己之前出的错:做杂项之前没有准备好工具.也不会用工具.第一步分离就没整出来.不过倒是想到了宽高隐写.但是我改宽高却是乱改一通,把宽高都改的很大,结果图片都不能正常显示.之后就一直卡在这里.

 

总结下:这道题考察了png图片的宽高隐写,zip文件的伪加密,文档文件的文字隐写,还有一点化学知识.对新手来说是十分不错的练习题.

posted @ 2022-11-27 11:08  M4r1s4  阅读(74)  评论(0编辑  收藏  举报