【愚公系列】2021年11月 攻防世界-简单题-MISC-010(SimpleRAR)

2021-12-03 17:06:49 浏览数 (1)

文章目录

  • 一、SimpleRAR
  • 二、答题步骤
    • 1.首先分析下rar文件头格式
    • SimpleRAR
  • 总结

一、SimpleRAR

文件:rar文件

二、答题步骤

1.首先分析下rar文件头格式

代码语言:javascript复制
D5 56 :HEAD_CRC,2字节,也就是文件头部分的crc校验值
74 :HEAD_TYPE,1字节,块类型,74表示块类型是文件头
20 90 :HEAD_FLAGS,2字节,位标记,这块在资料上没找到对应的数值,不知道20 90代表什么意思。
2D 00 :HEAD_SIZE,2字节,文件头的全部大小(包含文件名和注释)
10 00 00 00 :PACK_SIZE,4字节,已压缩文件大小
10 00 00 00 :UNP_SIZE,4字节,未压缩文件大小
02:HOST_OS,1字节,保存压缩文件使用的操作系统,02代表windows
C7 88 67 36:FILE_CRC,4字节,文件的CRC值
6D BB 4E 4B :FTIME,4字节,MS DOS 标准格式的日期和时间
1D:UNP_VER,1字节,解压文件所需要的最低RAR版本
30:METHOD,1字节,压缩方式,这里是存储压缩
08 00 :NAME_SIZE,2字节,表示文件名大小,这里文件名大小是8字节(flag.txt)
20 00 00 00 :ATTR,4字节,表示文件属性这里是txt文件
66 6C 61 67 2E 74 78 74:FILE_NAME(文件名) ,NAME_SIZE字节大小,这里NAME_SIZE大小为8
再往后是txt文件内容,一直到第六行 65 结束,下面是另一个文件块的开始,开始头问A8 3C 74

这个块中存在两个crc值,一个是文件头块中从块类型到文件名这38个字节的校验,后一个则是压缩包中所包含文件的crc校验,解压时,会计算解压后生成文件的crc值,如果等于这里的crc,则解压完成,如果不同,则报错中断。
代码语言:javascript复制
这个结尾块和标记块字节大小和分析方法是一样的。
C4 3D :HEAD_CRC,2字节,从HEAD_TYPE到HEAD_SIZE的crc校验值
7B :HEAD_TYPE,1字节,表示该块是结尾块
00 40 HEAD_FALGS ,2字节,位标记
07 00 :HEAD_SIZE,2字节,块大小
与标记块类似的是,结尾块也是一个固定字节串的块,依次是 C4 3D 7B 00 40 07 00

SimpleRAR

用二进制工具开打rar文件

发现文件块开头不对将A8 3C 7A 修改为 A8 3C 74 后得到两个文件

打开png发现是空白,再把sercet.png丢到winhex里发现文件头为gif图,修改后缀名用ps打开

分离图层,分别使用stegsolve找到其中的二维码。

继续使用stegsolve,组合两部分,使用ps补全二维码。

扫描二维码得到flag;flag{yanji4n_bu_we1shi}

总结

  • 这是送分题

0 人点赞