CTFshow misc50

作者在检查一张图片时发现其实际包含了一个ZIP文件,经过手动分离和多次解码,包括Base64和Base32,最终通过Ook解密方法得到了隐藏的flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拿到图片,习惯性看一眼属性,没什么有用信息,但图片偏大,直接放到kali分离一下,但没什么用
在这里插入图片描述
进010看一下,文件头没啥问题,png的,但文件尾不对是zip的,去查找png的文件尾部
在这里插入图片描述
同时发现了zip的文件头,手动分离一下
得到一个压缩文件,套了好几层,但需要密码,而第二层的压缩包提示一段base32加密在这里插入图片描述

返回去看看那个分离出来的文件在这里插入图片描述
有一串base64,解码后JNCVS62MMF5HSX2NMFXH2CQ=
再拿base32解码一下得到
在这里插入图片描述
解压得到一串数字,发现3078重复出现,用工具或脚本删除后得到16进制,且文件头就是7z的文件头,直接导入010,输入上面的密码解压
是一个base64与base32多重加密,经过很多很多次解码得在这里插入图片描述
Ook解密在这里插入图片描述
在这里插入图片描述
flag可算出来了

### CTFShow Misc 类别入门题目 misc8 解题思路 对于CTFShow平台上misc类别的入门题目,尤其是misc8,理解其背后的知识点至关重要。这类题目通常旨在考察参赛者对文件格式的理解以及基本的数据处理能力。 #### 文件隐藏技术简介 在杂项(Miscellaneous,简称Misc)挑战中,经常涉及到图像文件中的数据隐写术。这指的是将秘密信息嵌入到看似正常的媒体文件内而不引起怀疑的技术[^1]。例如,在一张普通的JPEG照片里可能暗藏着一段文字消息或是另一个完全不同的图片文件。 #### 工具使用说明 针对此类问题,`dd`命令是一个非常实用的工具,它可以从源文件读取特定偏移量之后的内容并将其保存为新文件。具体来说: ```bash dd if=input_file of=output_file skip=OFFSET bs=BLOCK_SIZE ``` 这里的关键参数解释如下: - `if`: 输入文件路径; - `of`: 输出文件路径; - `skip`: 开始复制前跳过的字节数,默认单位是块大小乘以此值; - `bs`: 设置每次读写的块大小,一般设为1表示按单个字节操作[^3]。 #### 实际案例分析 - misc8 假设现在面对的就是编号为misc8的任务,目标是从给定的一张名为`misc8.jpg`的照片中提取出被隐藏起来的小图标`flag.png`。通过观察或提示得知,实际有用的信息位于原图第2103字节位置之后,则可执行下面这条指令完成分离工作: ```bash dd if=misc8.jpg of=flag.png skip=2103 bs=1 ``` 上述过程即实现了从复合型多媒体对象内部抽取出独立存在的另一份资料的功能。值得注意的是,不同题目可能会有不同的offset和block size设置,因此需要仔细阅读题目描述来调整这些参数。 #### 提取ASCII字符串方法补充 除了利用`dd`直接分割文件外,有时候还需要查找图片内的纯文本线索。这时可以借助于Linux下的strings命令配合grep过滤器实现快速定位包含关键词(比如'ctf{...}'形式的标志串)。例如: ```bash strings misc8.jpg | grep 'ctf' ``` 该组合能够高效地筛选出所有潜在的目标标记,帮助选手更快找到正确答案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值