关于CTF压缩包的那些事

news/2024/11/16 21:36:23/

关于CTF压缩包的那些事

前言

CTF比赛中经常会给你各种各样奇怪加密方式的压缩包,这里基于合天相关课程学习小小的总结一下,可能不全,持续更新

利用进制转换隐藏信息

给你一大串十六进制字符串

你发现是50 4B 03 04 开头的,他其实是个压缩包,放入winhex改后缀保存即可得到zip文件,zip文件里有flag

作为冗余信息藏在其他文件中

winhex打开,搜索该文件文件尾,看后面是否还有压缩包文件头

image.png

解决方式,直接将后缀名改为zip解压

利用隐写隐藏在其他文件中

LSB为常规隐写算法,使用stegsolve

image.png

暴力破解

使用ARCHPR暴力破解

使用掩码攻击

安装ziperello

选择要解密的文件,选择基于模板的破解

image.png

image.png

image.png

zip伪加密

区分是否为伪加密,关键是看zip头50 4B 01 02 后第三个十六进制位

这是没有加密的情况

image.png

这是加密的情况,第三位为0A说明为真加密

image.png

这是伪加密的情况,第三位上与无加密一致,但是第六位为奇数,这就造成了伪加密

image.png

因此将第六位(圆圈区域)改回偶数则破解了伪加密

明文攻击

当你不知道一个zip的密码,但你有zip中的某个文件(文件大小大于128Byte)时可以进行明文攻击

原理

在压缩文件时输入的密码,首先被转换成3个32bit的key,所有文件的key是一样的,如果我们能找到这3个key 就能解开该压缩包的所有文件。简而言之,同一个zip压缩包中的所有文件都是使用同一个加密密钥来加密的,找到密钥即可解密压缩包

那么如何找这个密钥呢?利用我们所有的zip中的某个文件 。我们把该文件用同样的压缩软件,同一种方式进行无密码的压缩,然后比较压缩后文件的crc32值,如果相同则说明我们成功了。

攻击实例:

发现已知明文是明文攻击zip中的一个文件。于是我们无密码把已知明文压缩一下

image.png

对比两个压缩文件中“已知明文.jpg”的CRC32值,如果一致,就可以进行明文攻击,如果不一致,则换一种压缩方式继续比较

image.png

对比是一致的,下面开始明文攻击

使用AZPR软件

!image.png

得到flag

image.png

CRC32碰撞

crc32原理

CRC32:CRC本身是“冗余校验码”的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值。在产生CRC32时,源数据块的每一位都参与了运算,因此即使数据块中只有一位发生改变也会得到不同的CRC32值,利用这个原理我们可以直接爆破出加密文件的内容。

但是CRC32值也存在被碰撞的可能,也就是会出现内容不一样但是CRC32值一样的情况,所以利用CRC32碰撞的方法得知压缩文件的内容,一般是在被压缩的文件很小的情况下,在CTF中一般为4个字节。

文件修复

打开压缩包尝试解压 提示损坏

用winhex打开该文件

image.png

zip的文件头为50 4B 03 04 且为固定值,这里应该是文件头被篡改了,我们将他改回来,再次解压,就可以得到flag了。

冗余数据拼接

504B0506”,且通常带有18字节(在预备知识中我们将每个偏移量视作一位,也是一个字节)的冗余数据,总共长度一般为22个字节,所以这个套路就是将隐藏信息分为多片隐藏在多个压缩包的结尾

image.png

打开四个压缩包 发现22字节后都有三字节的冗余数据,拼接起来得到base64字符串

注释隐藏密码

有些压缩包带有注释,注释中可能藏有好东西,嘿嘿

image.png

例如这个注释里就有压缩包密码,

image.png

image.png

例如这个注释里就有压缩包密码,

image.png

image.png


http://www.ppmy.cn/news/572018.html

相关文章

ctf中压缩包隐写经验总结

1 暴力破解密码 使用神器Ziperello基本八位数字以下都是秒破,但缺点就是只能在密码全为数字且长度较小时好用 2 crc32 爆破: 这种题一般是压缩包密码无法破解,但压缩包内的内容比较短的话可以直接爆破crc32,脚本如下 zlib库 1 2 3 4 5 6 7 8 …

java下载zip文件损坏_使用Java下载.zip文件会导致损坏的.zip文件?

我写了这个方法来下载最新的Selenium Chrome驱动程序,它不起作用。它导致损坏的.zip文件。任何人都可以发现我的错误在哪里?使用Java下载.zip文件会导致损坏的.zip文件? private final File CHROMEDRIVER new File("chromedriver.exe&q…

2-css-5

一 定位 1 认识 作用:灵活的改变盒子在网页中的位置 实现: 定位模式:position边偏移:设置盒子的位置 left right top bottom 2 相对定位 position: relative 特点: 不脱标,占用自己原来位置显示模式…

从《新华三2023十大技术趋势白皮书》,看见前沿技术的“实体”回归

文|智能相对论 作者|李永华 在“新技术革命”的全球预期下,前沿技术创新的步伐不断加速。 下一步,哪些技术趋势将凸显出来,哪些场景将被数字经济深度改变,哪些场景将带来如同科幻世界般的技术应用……这些是从产业界到普罗大众…

Elasticsearch:install

ElasticSearch Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。 Elasticsearch结合Kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志分析、实时监控(CPU、Memory、Program)等领域。 elasticsearch是…

同花顺股票交易挂单接口是什么?

同花顺股票交易挂单接口,是猫头鹰股票自动交易系统,同花顺股票交易api接口等是比较安全稳定接口,接口通过第三方券商完成交易,是个人或机构做私募,配资平台等量化投资数据首选,同花顺股票自动交易接口易二次…

【Openvino02】openvino2022.1加速卡Movidius Myriad测试以及问题解决

接上一篇,上一篇我们已经把环境什么的都安装好了,本篇主要做一下各种模型测试,模型下载验证等;背景这里就不多说了,上篇已经介绍过了。 一、安装开发验证环境 1.安装所需包 这里建议用清华和豆瓣的镜像相互替换&…

同花顺快捷键以及使用方法

显示 分时线 分钟线 同花顺按快捷键311可同列显示5分钟、15分钟、60分、日线、周线、月线 同花顺按快捷键31 是1分钟线 同花顺按快捷键32 是5分钟线 同花顺按快捷键33 是15分钟线 同花顺按快捷键34 是30分钟线 同花顺按快捷键35 是60分钟线 设置里面调出工具栏固定显示&#x…