Misc_XCTF_WriteUp | SimpleRAR

发布时间 2023-12-06 19:17:23作者: Guanz

题目

分析

打开压缩包提示文件头损坏:


查看并分析十六进制文件。

标记块(MARK_HEAD)

52 61:【0x6152-头部 CRC 校验值(固定)-2 字节】
72:【0x72-块类型(固定)-1 字节】表示标记块
21 1A:【0x1A21-阻止标志(固定)-2 字节】
07 00:【0x0007-块大小(固定)-2 字节】标记块大小共 7 字节


压缩文件头(MAIN_HEAD)

CF 90:【0x90CF-压缩文件头 CRC 校验值-2字节】
73:【0x73-块类型(固定)-1 字节】表示压缩文件头
00 00:【0x0000-阻止标志-2 字节】
0D 00:【0x000D-块大小-2 字节】标记块大小共 13 字节
00 00 00 00 00 00:【0x000000000000-保留字节-13-2-1-2-2=6 字节】


文件头 1(FILE_HEAD)

D5 56:【0x56D5-文件头 CRC 校验值-2 字节】
74:【0x74-块类型(固定)-1 字节】表示文件头
20 90:【0x9020-组织标志-2 字节】
2D 00:【0x002D-块大小-2 字节】文件大小共 45 字节(从文件 CRC 校验值计算至该文件块结束)
10 00 00 00:【0x00000001-压缩文件大小-4 字节】
10 00 00 00:【0x00000001-未压缩文件大小-4 字节】
02:【0x02-用于存档的操作系统标志-1 字节】02 为 Windows 系统
C7 88 67 36:【0x366788C7-文件 CRC 校验值-4 字节】
6D BB 4E 4B:【0x4B4EBB6D-标准 MS DOS 格式的日期和时间-4 字节】
1D:【0x1D-解压文件所需的 RAR 版本-1 字节】
30:【0x30-压缩方法-1 字节】
08 00:【0x0008-文件名大小-2 字节】该文件块的文件名 flag.txt 共占用 8 字节
20 00 00 00:【0x00000020-文件属性-4 字节】txt 文件
66 6C 61 67 2E 74 78 74:【flag.txt-具体文件名-8 字节】
00 B0 57 00 43 66 6C 61 67 20 69 73 20 6E 6F 74 20 68 65 72 65:【flag.txt 文件的内容-45-4-4-1-1-2-4-8=21 字节】


文件头 2(FILE_HEAD)
A8 3C:【0x3CA8-文件头 CRC 校验值-2 字节】
7A错误的块类型,应更改为 74
……


将 7A 更改为 74,将保存后的文件解压。得到两个文件:

flag.txt 文件的内容为:flag is not here


检查 secret 图片,发现文件头为 GIF 头:

在 Red plane 0 通道发现半截二维码雪饼:


更改文件后缀名为 gif,用 Photoshop 打开发现存在两个空白图层:


分别保存两个图层为 PNG 文件,查看两张图片的 Red plane 0 通道,发现另外半截二维码:


按通道保存两截二维码,拼接并补全:

扫描二维码得到 flag。

Flag

flag{yanji4n_bu_we1shi}

参考

RAR文件格式学习(了解)-debaowang-CSDN
RAR 格式-CTF Wiki
RAR文件格式分析-Sp4n9x's Blog