BUUCTF zip伪加密 1

BUUCTF:https://buuoj.cn/challenges

题目描述:

下载附件,得到一个zip压缩包。
密文:

解题思路:

1、刚开始尝试解压,看到了flag.txt文件,但需要解压密码。结合题目,确认这是zip伪加密,不需要浪费时间寻找密码了。将文件在010 Editor中打开,分析它的文件格式,修改相关参数。


zip伪加密原理

2、通过修改压缩源文件数据区和目录区的全局方式位标记(下图红色标识),达到将伪压缩文件恢复到未加密的状态的目的。将下方的两个"09 00"修改为"00 00",保存文件完成还原。

bash 复制代码
未加密:

文件头中的全局方式位标记为00 00

目录中源文件的全局方式位标记为00 00

伪加密:

文件头中的全局方式位标记为00 00

目录中源文件的全局方式位标记为09 00

真加密:

文件头中的全局方式位标记为09 00

目录中源文件的全局方式位标记为09 00

ps:也不一定要09 00或00 00,只要是奇数都视为加密,而偶数则视为未加密

3、将修改后的压缩包解压,获得flag.txt文件,打开文件得到flag。

flag:

bash 复制代码
flag{Adm1N-B2G-kU-SZIP}
相关推荐
永乐春秋17 分钟前
WEB攻防-JavaWweb项目&JWT身份攻击&组件安全&访问控制
安全
小黑爱编程25 分钟前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
青椒大仙KI1135 分钟前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
liangbm31 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
云卓科技1 小时前
无人机之控制距离篇
科技·安全·机器人·无人机·制造
云卓科技1 小时前
无人机之飞行高度篇
科技·安全·机器人·无人机·制造
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码2 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
我要吐泡泡了哦3 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎