记录某夏令营结营CTF的write up
本文最后更新于:2023年10月2日 下午
Intro
暑假参加了某网安相关的夏令营,想着把最近手头上的事忙完了后把最后结营的CTF的Write up 写一下,现在人在高铁上也睡不着不如能写一部分是一部分吧。其实题目都是原题,就权当记录一下WP和解题过程,所以大佬就别看了- -可能有点浪费你们的时间,当然欢迎讨论。
MISC
doge
这是一个misc题自然而然的想到用binwalk或hex编辑器来查看图片内容,对于这道题来说当然是一无所获,之后祭出我们的神器stegsolve,其实刚开始我自己做是没发现的,但其实这道题的结果隐藏在其他不同的通道中。
这道题的来源:点击链接
教练,我想打CTF
这个也是原题,网络上一堆解法,但是作为misc题也算是十分经典且难度中等了。这个题的关键是图片中有一个压缩包,将其分离解压后发现是一个可以在linux下执行的程序,将之执行即可得到flag,所以这道题的大致思路为:
相关工具的使用方法自己 -h 查看
- 使用
binwalk
查看图片的内容- 这道题我还使用相关工具查看了其16进制,没有看出来有用的讯息
- 使用
foremost
分离出图片的文件(binwalk也支持分离文件,看个人爱好) - 以这道题为例,最重要的是将分离的压缩包进行解压得到那个程序,别的题目可能会分离出其他的东西
- 针对这道题为例,可以通过解压压缩包后得到可以得到flag的执行程序(记得提升权限)
队友提交flag后出错,我开始以为主办方可能修改了flag或者设置了假flag,开始考虑是不是图片长宽不够的原因。还使用了网络上的CRC检验脚本,这里也贴出来。
1 |
|
最后发现是队友flag敲错了- -
64.0
通过强大的搜索能力,发现这道题的来源是实验吧的一道题。这道题给的文件一打开即为损坏,使用经典的二进制编辑器查看发现缺少文件头,这里添加 GIF98a
,添加完成后有两种情况,队友在010editor中添加后发现仍然打不开,我在记事本中添加后可以打开,打开后生成正确的GIF图片。
然后可以发现是一个小黄人在 8 ✖️ 8
的棋盘上不断出现,使用工具分离出gif的每一帧,由题目可知每一个格子代表一个数字,分别从0-63,找到对应的ASCII码,然后得到flag提交,一把梭。
MIMI
这道题给了一个卡农的音乐mp3文件,开始猜测是音乐的隐写题,放到AU甚至其他工具里发现不是波形的问题,寻找其他解法时找到了这个东西,这里用到了MP3stego这个工具,这个工具也有点坑,在复现的时候一定要注意路径是否正确,使用Canon作为decode密码后,完成之后可以得到一串字符,这个就是zip的密码。
解压压缩包后发现里面是类似的乱码,猜测可能是png文件,发现缺少PNG文件头,使用脚本补上。
1 |
|
crypto
code
一道crypto题,但是感觉有点杂项,队友解到一半没有思路了,貌似是强网杯的一道题的思路简化版。题目给了这个文件
不用多想,就是base64加密嘛,解谜后得到的全是1 0组合的字符文件,遂即傻眼了,如果把1看成黑,0看成白(可能正好相反),通过python脚本
1 |
|
可以生成一张二维码图,之前打CISCN的时候有一道题类似,好像是麻将题,下次可以聊聊这道题。
生成二维码后一扫就知道flag了!
后记
这篇文章从9月初拖到现在才写完,拖延症要命捏。