美文网首页kali成长技术
压缩文件学习总结

压缩文件学习总结

作者: lincso | 来源:发表于2020-02-17 18:42 被阅读0次

    RAR文件的组成

    RAR是有四个文件块组成的,分别是分别是标记块、归档头部块、文件块、结束块,这些块之间没有固定地先后顺序,但要求第一个块必须是标志块并且其后紧跟一个归档头部块

    RAR的标记块和结束块都是固定的7字节序列,分别为0×52 61 72 21 1A 07 00和0xC4 3D 7B 00 40 07 00

    每一块后面都有两个crc校验,在crc之后的字节用于判断块类型

    HEAD_TYPE=0x72 标记块

    HEAD_TYPE=0x73 压缩文件头

    HEAD_TYPE=0x74 文件头

    HEAD_TYPE=0x75 注释头

    HEAD_TYPE=0x76 旧风格的用户身份信息

    HEAD_TYPE=0x77 子块

    HEAD_TYPE=0x78 恢复纪录

    HEAD_TYPE=0x79 用户身份信息

    HEAD_TYPE=0x7a subblock

    比如上图rar要获取的文件除了flag.txt外还有secret.png,本来在A8 3C校验位后被改成了7A,被锁定后解压文件无法看到secret.png,所以这里需要自己改块标志将其改为文件块

    ZIP文件的组成

    压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志

    50 4B 03 04是ZIP头文件标记

    14 03是解压文件需要的PK版本

    00 00是全局方位标记(文件是否有加密可通过这两位来判断,单数为加密,偶数为无,例如:00 02 04表示加密,01 03 09表示无)

    之后查看压缩包里有多少文件可以查找50 4B有多少个就行了

    不过压缩源文件数据区跟压缩源文件目录区是不一样的,文件标识依然是前四位,之后四位分别对应压缩需要的PK版本跟解压需要的PK版本之后的00 00对应数据区的全局方位标记(判断加解密与上面一样)

    在CTF题中会存在伪加密的zip文件,原理就是更改了其中的全局方位标记

    ps:Kali中用binwalk -e可以直接解压,此工具分离文件的原理就是识别文件头后进行文件分离

    相关文章

      网友评论

        本文标题:压缩文件学习总结

        本文链接:https://www.haomeiwen.com/subject/xyrifhtx.html