热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

CTF中压缩包的常见套路

识别十六进制字符串的特殊字符:504B0304表示开始,504B0506表示结束(这里有一个补充知识点:把文件命名成什么文件

  1. 识别十六进制字符串的特殊字符:504B0304表示开始,504B0506表示结束(这里有一个补充知识点:把文件命名成什么文件类型,计算机就从什么特征头来进行识别,比如zip就从504B0304开始识别,从504B0506结束),值得注意的是对于txt文件,不存在任何文件头。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 伪加密
    在这里插入图片描述

  3. 文件修复
    有可能存在文件头故意写错的情况:
    在这里插入图片描述
    这时候改过来就行:504B0304

  4. 冗余信息拼接
    ZIP压缩文件目录结束标识位为“504B0506”,且通常带有18字节(在预备知识中我们将每个偏移量视作一位,也是一个字节)的冗余数据,总共长度一般为20个字节,所以这个套路就是将隐藏信息分为多片隐藏在多个压缩包的结尾。
    在这里插入图片描述

这20个字节不能动,后面可以加其他冗余信息,如果动了,会导致解压失败。
综上,在合适的位置找到冗余数据并拼接,看看是什么编码,再解码


  1. 在压缩包的注释中找:
    在这里插入图片描述
    并且注释也可以通过winhex查看,一般在最后:
    在这里插入图片描述

推荐阅读
author-avatar
书友48919914
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有