题目下载下来是一个 zip.rar,打开后发现里面有个flag.txt,打开以后…是 flag is not here
所以目标点应该不在这。
懒得看文件头啥的了,直接拖入kali,binwalk一下
- 发现有一个rar文件和一个zip文件。直接foremost分离它们。
1 | foremost zip.rar |
分离得到的rar就是原来的那个zip.rar脱去那个zip压缩包后的rar。
而zip压缩包里面有一个名为“一个普通的压缩包”的文件夹
- 文件夹里面是一个flag.rar,打开rar文件以后里面还是flag.txt,内容依旧是flag is not here
但是值得注意的是: rar文件大小有6kb,但是那个flag.txt只有1kb
- 用十六进制查看器对这个rar压缩包查看了一番, 发现里面有一个secret.png
但是为什么双击打开rar的时候却没显示这个png文件?
搜索一番后得知, 这是因为我用的2345解压, 这款软件会自动过滤掉不完整的文件,这个不完整是指缺少rar文件的一些标识。
具体知识可以在下面网站中学习。
- 回归原始,用winrar打开这个rar压缩包,提示如下
所以目标就变成修复这个png文件的文件头。
用winrar和2345解压自带的修复功能都没有用… 只能手动了。
在flag.txt结束的地方就是下一个块开始的地方,flag.txt结束于 flag is not here的最后一个字母e。 则新块开始于图中A8 3C这个位置。
- 结合文档
可知A8 3C就是对应的HEAD_CRC
但是HEAD_TYPE却不是0x74而是0x7A,将其改为0x74保存。
再次打开rar以后发现了secret.png, 文件总大小也差不多是rar文件的大小了。
- 观察可以发现在十六进制查看其器中 HEAD_TYPE 总是位于该文件CRC32的第三位的上方。这一点可以用来验证,修改的位置是不是HEAD_TYPE。
- 下面对secret.png进行分析
- 是个gif文件,拓展名改为gif后开始分离
- 分离得到两张图片, 分别拖入Stegsolve
- 得到一张下半部分的二维码和一张不完整的上半部分的二维码。补全对应位置得到完整二维码。
- 扫码得到:
1 | flag{yanji4n_bu_we1shi} |